add scalarProduct