move recv logic from menu
move messenger to its own module