now prevents circular references