added a function to handle creating channels more intelligently - more work to be done to fully implement it