more default channel promise refactoring