updated to LinkedList