supporting both parent and child categories