add singly linked list implementation