added routines per channel