modify update_z