added pipelined channel provider to demonstrate abstraction correctness.