pre-modifiing save