extracted main menu related stuff to its own component