added set channel and other functions