almost finished with linked list