move sim to Simulation struct, keep main small