use LinkedList because concurrency won't occur