even better checkpoint
DONE:
-moved read in ctor
-moved reset in dtor