refactored simulation step, IRs