made some changes to how channels are handled