Index: ../trunk-jpl/src/c/classes/kriging/Covertree.cpp
===================================================================
--- ../trunk-jpl/src/c/classes/kriging/Covertree.cpp	(revision 18913)
+++ ../trunk-jpl/src/c/classes/kriging/Covertree.cpp	(revision 18914)
@@ -1,6 +1,8 @@
 #include "../classes.h"
 //#include <utility>
 #include <set>
+//#include <vector>
+#include <algorithm>
 
 	/*Constructors/Destructors*/
 Covertree::Covertree(const double& maxDist,const std::vector<Observation>& points){
@@ -191,7 +193,7 @@
 			int i = level-1;
 			Observation q = (*it)->getObservation();
 			double minDQ = 1.e+50;
-			CoverTreeNode* minDQNode = nullptr;
+			CoverTreeNode* minDQNode = NULL;
 			double sep = pow(base,i);
 			bool br=false;
 			while(true) {
@@ -219,7 +221,7 @@
 			//minDQNode->getObservation().print();
 			//std::cout << " is level " << i << " parent of ";
 			//(*it)->getObservation().print();
-			if (minDQNode != nullptr)
+			if (minDQNode != NULL)
 			 minDQNode->addChild(i,*it);
 		}
 		if(parent!=NULL) {
Index: ../trunk-jpl/src/c/classes/kriging/Observation.h
===================================================================
--- ../trunk-jpl/src/c/classes/kriging/Observation.h	(revision 18913)
+++ ../trunk-jpl/src/c/classes/kriging/Observation.h	(revision 18914)
@@ -24,7 +24,6 @@
 
 		/*Object virtual functions definitions*/
 		double  distance(const Observation& ob) const;
-		const   std::pair<double, double>& getXY() const;
 
 		void    Echo();
 		void    print() const;
Index: ../trunk-jpl/src/c/classes/kriging/Observation.cpp
===================================================================
--- ../trunk-jpl/src/c/classes/kriging/Observation.cpp	(revision 18913)
+++ ../trunk-jpl/src/c/classes/kriging/Observation.cpp	(revision 18914)
@@ -82,20 +82,16 @@
 /*}}}*/
 double Observation::distance(const Observation& ob) const
 {
-	return std::sqrt( (std::pow( (ob.getXY().first - this->x), 2 ) + std::pow((ob.getXY().second - this->y), 2) ));
+	return std::sqrt( (std::pow( (ob.x - this->x), 2 ) + std::pow((ob.y - this->y), 2) ));
 }
 
-const std::pair<double, double>& Observation::getXY() const
-{
-	return std::make_pair(this->x, this->y);
-}
 bool Observation::operator==(const Observation& ob) const
 {
-	return (ob.getXY().first == this->x && ob.getXY().second == this->y && ob.value == this->value);
+	return (ob.x == this->x && ob.y == this->y && ob.value == this->value);
 }
 
 void Observation::WriteXYObs(const Observation& ob, double* px, double* py, double* pobs){
-    *px   = ob.getXY().first;
-    *py   = ob.getXY().second;
+    *px   = ob.x;
+    *py   = ob.y;
     *pobs = ob.value;
 }
