fix #2 add sentinal node to doubly linked list