Circular references checking added