deepcopy only once during update_in_obj