skeleton code for channels