refactored Channel, changed some methods to better convey their intention