Use CopyOnWriteArrayList instead of synchronized arraylist since that didn't work