rewritten code for channel sounds etc