added dot product