differentiate circular references