added a soft_update - updates only fields that do not exists