Channel refactor

fixed