default channel promise refactoring