The role of fouling mechanisms in a membrane bioreactor