added doubly circular list