major refactoring
refactoring fixes
more refactor
even more refactoring
absolutely flawless
cleanup
broke up Simulation.next
split next method