issue51: save checkpoint