only handle channel modes
fix all the bugs i added in the last 3 commits