more extensibility work on channels