implemented dot product for all vector structs