singly linked list improvements