add singly linked list, complete exercise, and clean up tests