Membrane fouling and its control in environmental applications