diff --git a/GeoLib/Point.cpp b/GeoLib/Point.cpp
index 14a1cf12c98ab6eff242440189955b3c026a0827..8032f2dc4d87e8fdb89f695313e9c951ef47a91a 100644
--- a/GeoLib/Point.cpp
+++ b/GeoLib/Point.cpp
@@ -16,26 +16,6 @@
 
 #include "Point.h"
 
-bool operator<= (const GeoLib::Point& p0, const GeoLib::Point& p1)
-{
-	double tol (sqrt (std::numeric_limits<double>::min()));
-
-	if (fabs (p0[0]-p1[0]) > tol * fabs(p0[0])) {
-		if (p0[0] < p1[0]) return true;
-		else return false;
-	} else {
-		// assume p0[0] == p1[0]
-		if (fabs (p0[1]-p1[1]) > tol * fabs(p0[1])) {
-			if (p0[1] < p1[1]) return true;
-			else return false;
-		} else {
-			// assume p0[1] == p1[1] and p0[0] == p1[0]
-			if (p0[2] < p1[2]) return true;
-			else return false;
-		}
-	}
-}
-
 namespace GeoLib {
 
 bool lessX (GeoLib::Point const & p0, GeoLib::Point const & p1)
@@ -56,5 +36,24 @@ bool lessZ (GeoLib::Point const & p0, GeoLib::Point const & p1)
 	return false;
 }
 
+bool operator<= (const GeoLib::Point& p0, const GeoLib::Point& p1)
+{
+	double tol (sqrt (std::numeric_limits<double>::min()));
+
+	if (fabs (p0[0]-p1[0]) > tol * fabs(p0[0])) {
+		if (p0[0] < p1[0]) return true;
+		else return false;
+	} else {
+		// assume p0[0] == p1[0]
+		if (fabs (p0[1]-p1[1]) > tol * fabs(p0[1])) {
+			if (p0[1] < p1[1]) return true;
+			else return false;
+		} else {
+			// assume p0[1] == p1[1] and p0[0] == p1[0]
+			if (p0[2] < p1[2]) return true;
+			else return false;
+		}
+	}
+}
 
 } // end namespace GeoLib
diff --git a/GeoLib/Point.h b/GeoLib/Point.h
index 56993e1887a8e414e06cae0d0eafa8b1b7c4db87..8f8911fbeeead48ec2f2ce713bc2d3d4d22f07fb 100644
--- a/GeoLib/Point.h
+++ b/GeoLib/Point.h
@@ -47,11 +47,11 @@ bool lessY (Point const & p0, Point const & p1);
  */
 bool lessZ (Point const & p0, Point const & p1);
 
-}
-
 /**
  * lexicographic comparison of points
  */
 bool operator<= (GeoLib::Point const & p0, GeoLib::Point const & p1);
+}
+
 
 #endif /* POINT_H_ */