refactor irc command structure