refactor touchmenu