added vector addition