use LinkedList as buffer to recycle objects