checkpoint
before update