call safe apply when saving