adding checkpoint related stuff