singly linked list partially implemented