double linked list skeleton