refactoring on channels' bubbling