yet another save while refactor