func_vi improve