submenu refactoring