add vecadd implementation