complete linked list class