save before committing