Producers Consumers and Decomposers