some improvements and check for that freenode shit