add  channel function