new updated for vector by vector operation