save and load state, soi transitions are better