Channel<> rewritten