channels read/writes refactoring
// todo channel refactoring