improvement to linked list