add doubly linked list impl