make save and restore explicit