refact channel