rewrite mode prefix parser without re
implement channel modes