improve recover and save-load logic