impliment DILinkedList