menu refactoring