vectorization done
merged