State modified to use has_hierarchy