library for circular linked list