implement menu item should have children, menu item should not have
children, and get menu item names keywords, with test cases
refactor