Enhenced abstract channel class
channel work