dependency loop check