add channel handler routines