real ancestor / deep loop check