implementing @problem's refactored menu setup