separating save from saveDiff