add SafeSaveDocument base class