Simulation machine
by @Tyler