linked list complete
update