add vectorization