generic_update