reuse needToSave