add channel switching