logging exceptions. Using join() thread when stopping simulation to
avoid concurrentmodificationexceptions then