Support for circular references

Support for circular references