reimplemented irc