removed safe_update()