fix hierarchical rule reading