linked list functionality complete