use index for circularReference
differentiate circular references