fix issue #22

improved buffer queue to channel binding in producer and consumer