added singly linked list implemented by template