diff --git a/AMOEBAonAMAK/src/agents/head/Head.java b/AMOEBAonAMAK/src/agents/head/Head.java
index b4dd18b1510cc91674742922127c2d0870bea8d2..8fe26fa6e2a131d8eab7d9df5af6c35d3e8bb09c 100644
--- a/AMOEBAonAMAK/src/agents/head/Head.java
+++ b/AMOEBAonAMAK/src/agents/head/Head.java
@@ -175,11 +175,18 @@ public class Head extends AmoebaAgent {
 		getAmas().data.executionTimes[6]=System.currentTimeMillis()- getAmas().data.executionTimes[6];
 
 
-		getAmas().data.executionTimes[7]=System.currentTimeMillis();
 		
+		getAmas().data.executionTimes[11]=System.currentTimeMillis();
 		NCSDetection_ChildContext();
+		getAmas().data.executionTimes[11]=System.currentTimeMillis()- getAmas().data.executionTimes[11];
 		
+		getAmas().data.executionTimes[12]=System.currentTimeMillis();
 		NCSDetection_PotentialRequest();
+		getAmas().data.executionTimes[12]=System.currentTimeMillis()- getAmas().data.executionTimes[12];
+		
+		
+		
+		getAmas().data.executionTimes[7]=System.currentTimeMillis();
 		
 		criticalities.addCriticality("spatialCriticality",
 				(getMinMaxVolume() - getVolumeOfAllContexts()) / getMinMaxVolume());
@@ -236,12 +243,13 @@ public class Head extends AmoebaAgent {
 
 		
 		getAmas().data.executionTimes[7]=System.currentTimeMillis()- getAmas().data.executionTimes[7];
-
 		
 		for(int i = 0 ; i<20;i++) {
 			getAmas().data.executionTimesSums[i] += getAmas().data.executionTimes[i];
 		}			
 
+		
+		
 	}
 
 	public double getMinMaxVolume() {
@@ -894,26 +902,28 @@ public class Head extends AmoebaAgent {
 		double minDistanceToOraclePrediction = Double.POSITIVE_INFINITY;
 
 		for (Context activatedContext : activatedContexts) {
-			currentDistanceToOraclePrediction = activatedContext.getLocalModel()
-					.distance(activatedContext.getCurrentExperiment());
-			getAmas().data.distanceToRegression = currentDistanceToOraclePrediction;
+			currentDistanceToOraclePrediction = activatedContext.getLocalModel().distance(activatedContext.getCurrentExperiment());
+			
 
 			getAmas().data.contextNotFinished = false;
 			getEnvironment().trace(TRACE_LEVEL.DEBUG, new ArrayList<String>(Arrays.asList("MODEL DISTANCE", activatedContext.getName(),
 					"" + activatedContext.getLocalModel().distance(activatedContext.getCurrentExperiment()))));
 			if (!activatedContext.getLocalModel().finishedFirstExperiments()) {
+				
 				activatedContext.getLocalModel().updateModel(activatedContext.getCurrentExperiment(), getAmas().data.learningSpeed);
 				getAmas().data.contextNotFinished = true;
+				
 			}
-
 			else if (currentDistanceToOraclePrediction < getAverageRegressionPerformanceIndicator()) {
 			//else if (currentDistanceToOraclePrediction < regressionPerformance.getPerformanceIndicator()) {
+				
 				activatedContext.getLocalModel().updateModel(activatedContext.getCurrentExperiment(), getAmas().data.learningSpeed);
 
 			}
 
 			if (currentDistanceToOraclePrediction < minDistanceToOraclePrediction) {
 				minDistanceToOraclePrediction = currentDistanceToOraclePrediction;
+				getAmas().data.distanceToRegression = minDistanceToOraclePrediction;
 			}
 
 			if (!getAmas().data.contextNotFinished) {
@@ -933,6 +943,7 @@ public class Head extends AmoebaAgent {
 			activatedContexts.get(i).criticalities.updateMeans();
 			
 			if (activatedContexts.get(i).criticalities.getCriticalityMean("distanceToRegression") != null) {
+				
 				activatedContexts.get(i).regressionPerformance.update(activatedContexts.get(i).criticalities.getCriticalityMean("distanceToRegression"));
 				getEnvironment().trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("UPDATE REGRESSION PERFORMANCE", activatedContexts.get(i).getName(), ""+activatedContexts.get(i).regressionPerformance.getPerformanceIndicator())));
 			}
diff --git a/AMOEBAonAMAK/src/kernel/AMOEBA.java b/AMOEBAonAMAK/src/kernel/AMOEBA.java
index 2ad515d0aaeea48a41fd1ccc4c222f8d6bff8145..dd2b1e7a6e324d66aac411429f0a847ac00ce42b 100644
--- a/AMOEBAonAMAK/src/kernel/AMOEBA.java
+++ b/AMOEBAonAMAK/src/kernel/AMOEBA.java
@@ -165,6 +165,8 @@ public class AMOEBA extends Amas<World> implements IAMOEBA {
 			timeExecution.addData("BestContextInNeighbors", cycle, data.executionTimesSums[8], notify);
 			timeExecution.addData("CreateContext", cycle, data.executionTimesSums[9], notify);
 			timeExecution.addData("UpdateStatitics", cycle, data.executionTimesSums[10], notify);
+			timeExecution.addData("ChildContext", cycle, data.executionTimesSums[11], notify);
+			timeExecution.addData("PotentialRequest", cycle, data.executionTimesSums[12], notify);
 			
 			criticalities.addData("Prediction", cycle, data.evolutionCriticalityPrediction, notify);
 			criticalities.addData("Mapping", cycle, data.evolutionCriticalityMapping, notify);