reorganize ChannelPipeline