prevent parent loops