refactoring + ? menu