checkpoint: Significantly more error checking...plus disconnection support and more tests