menu item handling overhaul

fixes #90