Circularity is now properly handled