added support for circular-list