separate simulation in it's own thread