more channels refactoring