COnsumer added, producer refactorized