add vrexpr variant, update convert util to cpp