diff --git a/MathLib/Vector3.cpp b/MathLib/Vector3.cpp
index a810a64a53bbde1d39d03bbd564b85e7bd0b43ac..b4a12364a2a68a01d9b58c23258fcb9074892cbf 100644
--- a/MathLib/Vector3.cpp
+++ b/MathLib/Vector3.cpp
@@ -15,8 +15,19 @@ namespace MathLib
 double scalarTriple(MathLib::Vector3 const& u, MathLib::Vector3 const& v,
                     MathLib::Vector3 const& w)
 {
-    MathLib::Vector3 const cross(MathLib::crossProduct(u, v));
-    return MathLib::scalarProduct(cross,w);
+    auto const pu =
+        Eigen::Map<Eigen::Vector3d>(const_cast<double*>(u.getCoords()));
+    auto const pv =
+        Eigen::Map<Eigen::Vector3d>(const_cast<double*>(v.getCoords()));
+    auto const pw =
+        Eigen::Map<Eigen::Vector3d>(const_cast<double*>(w.getCoords()));
+    return pu.cross(pv).dot(pw);
 }
 
+//double scalarTriple(EigenLib::Vector3d const& u, EigenLib::Vector3d const& v,
+//                    EigenLib::Vector3d const& w)
+//{
+//    return (u.cross(v).dot(w))(0,0);
+//}
+
 }  // end namespace MathLib