added ProduceFromChannel