adds doubly linked list and unit tests