working checkpoint with process: next step is to introduce locking
working checkpoint with coarse grained locks