retain as much in memory as is required to restore most recent to last iteration