checkpoint for future reversion if failure