refactoring a bit and harnessing around Channel helper