implemented /msg, cleanup