cleaned up how menus are instantiated