working on the channel class