much work on the simulation component