channel improvement & default implementation