menu refactor complete