Add 2-d and n-d vectorization, require r_v