Creating the channel base and derived classes