remove circular reference; clean up