A process for removing soluble and insoluble inorganic, organic, and microbiological contaminants from a fluid stream employing a pretreatment module, a post-treatment module, a recycle stream module or any combination thereof, and a membrane module, is provided. The process provided reduces the problems associated with membrane fouling and increases contaminant removal capacity.