generalize the menu