refactor menuService