add option to join multiple channels

cleaned up some code and added new commands