finish LinkedList