circular references fixed