moved menu handling to separate menuController