add double linked list implementation