upgraded to doubly linked list, and it appears to work