singly linked list is generic