add producer and consumer