implemented two producers