Adding reworked checkpoint/restart capability based on Brian Atkinson's work