diff --git a/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java b/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java
index 1e67a9427078935a02ab7cf4261bcf13dd8a2077..d969e87d34de6368df21c3218c9d87237353dea7 100644
--- a/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java
+++ b/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java
@@ -12,7 +12,7 @@ public abstract class AbstractSolution
 
     protected double[] weights_w;
     protected double[] weights_p;
-    protected double distance = Double.POSITIVE_INFINITY;
+    protected double fitness_score = Double.POSITIVE_INFINITY;
 
     /**
      * SolutionDistance constructor. Needs weight number as parameter
@@ -58,7 +58,7 @@ public abstract class AbstractSolution
         return "SolutionDistance{"
                 + "weights_w=" + Arrays.toString(weights_w)
                 + ", weights_p=" + Arrays.toString(weights_p)
-                + ", distance=" + Math.abs(distance)
+                + ", fitness score=" + Math.abs(fitness_score)
                 + '}';
     }
 
@@ -95,9 +95,9 @@ public abstract class AbstractSolution
      */
     @Override
     public final int compareTo(final AbstractSolution solution) {
-        if (this.getDistance() > solution.getDistance()) {
+        if (this.getFitnessScore() > solution.getFitnessScore()) {
             return 1;
-        } else if (this.getDistance() < solution.getDistance()) {
+        } else if (this.getFitnessScore() < solution.getFitnessScore()) {
             return -1;
         } else {
             return 0;
@@ -117,14 +117,14 @@ public abstract class AbstractSolution
     /**
      * @return
      */
-    public final double getDistance() {
-        return distance;
+    public final double getFitnessScore() {
+        return fitness_score;
     }
 
     /**
      * @param distance
      */
-    public final void setDistance(final double distance) {
+    public final void setFitnessScore(final double distance) {
         return;
     }
 
diff --git a/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java b/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java
index 03c385002d160118849e16d092ff58415d6bd5a0..8e63e8d0270eb5d3fac4aa5ce3cab31a0ad36223 100644
--- a/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java
+++ b/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java
@@ -20,9 +20,9 @@ public class SolutionAUC extends AbstractSolution {
     final void computeScoreTo(
             final List<double[]> data,
             final double[] expected) {
-        this.distance = 0;
+        this.fitness_score = 0;
         double[] aggregated_values = new double[data.size()];
         WOWA wowa = new WOWA(this.weights_w, this.weights_p);
-        this.distance = -(Utils.computeAUC(this, data, expected));
+        this.fitness_score = -(Utils.computeAUC(this, data, expected));
     }
 }
diff --git a/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java b/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java
index 9f8a2a9238ed67e8dcf60be501df3fbb29317a7f..74ed9b731ac53bb61113ff6301ec49e48b3a659b 100644
--- a/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java
+++ b/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java
@@ -43,15 +43,15 @@ public class SolutionDistance extends AbstractSolution {
                               final double[] expected
     ) {
 
-        this.distance = 0;
+        this.fitness_score = 0;
         for (int i = 0; i < data.size(); i++) {
             double[] vector = data.get(i);
             double target_value = expected[i];
             WOWA wowa = new WOWA(this.weights_w, this.weights_p);
             double aggregated_value = wowa.aggregate(vector);
-            this.distance += Math.pow(target_value - aggregated_value, 2);
+            this.fitness_score += Math.pow(target_value - aggregated_value, 2);
         }
-        this.distance = Math.sqrt(this.distance);
+        this.fitness_score = Math.sqrt(this.fitness_score);
 
     }
 
diff --git a/src/main/java/be/cylab/java/wowa/training/Trainer.java b/src/main/java/be/cylab/java/wowa/training/Trainer.java
index ad22c51775c5cc713306d831c409afbb66fc1283..8413884e53ddd2632568d806ca1838ae0bae0e4b 100644
--- a/src/main/java/be/cylab/java/wowa/training/Trainer.java
+++ b/src/main/java/be/cylab/java/wowa/training/Trainer.java
@@ -58,8 +58,8 @@ public class Trainer {
             }
 
             //We found a new best solution
-            if (best_solution_of_current_population.getDistance()
-                    < best_solution.getDistance()) {
+            if (best_solution_of_current_population.getFitnessScore()
+                    < best_solution.getFitnessScore()) {
                 best_solution = best_solution_of_current_population;
             }
 
@@ -77,7 +77,7 @@ public class Trainer {
         AbstractSolution best_solution = solutions.get(0);
 
         for (AbstractSolution solution : solutions) {
-            if (solution.getDistance() < best_solution.getDistance()) {
+            if (solution.getFitnessScore() < best_solution.getFitnessScore()) {
                 best_solution = solution;
             }
         }
@@ -192,7 +192,7 @@ public class Trainer {
             double normalized_distance = 0;
             for (AbstractSolution solution : solutions) {
                 normalized_distance = normalized_distance
-                        + (max + min - solution.getDistance()) / sum;
+                        + (max + min - solution.getFitnessScore()) / sum;
                 if (normalized_distance > tos) {
                     selected_elements.add(solution);
                     solutions.remove(solution);
@@ -230,7 +230,7 @@ public class Trainer {
 
             //Compare the two selected element and put the solution with
             // the smallest distance in selected list
-            if (solution1.getDistance() < solution2.getDistance()) {
+            if (solution1.getFitnessScore() < solution2.getFitnessScore()) {
                 selected_elements.add(solution1);
                 solutions.remove(solution1);
             } else {
diff --git a/src/main/java/be/cylab/java/wowa/training/Utils.java b/src/main/java/be/cylab/java/wowa/training/Utils.java
index d27ab2a7660ea68103c107089cbfa9a396990eb1..72d8718f3f227a14d9048aba47c4535149546556 100644
--- a/src/main/java/be/cylab/java/wowa/training/Utils.java
+++ b/src/main/java/be/cylab/java/wowa/training/Utils.java
@@ -47,8 +47,8 @@ public final class Utils {
             final List<AbstractSolution> solutions) {
         double max = Double.NEGATIVE_INFINITY;
         for (AbstractSolution solution : solutions) {
-            if (solution.getDistance() > max) {
-                max = solution.getDistance();
+            if (solution.getFitnessScore() > max) {
+                max = solution.getFitnessScore();
             }
         }
         return max;
@@ -63,8 +63,8 @@ public final class Utils {
             final List<AbstractSolution> solutions) {
         double min = Double.POSITIVE_INFINITY;
         for (AbstractSolution solution : solutions) {
-            if (solution.getDistance() < min) {
-                min = solution.getDistance();
+            if (solution.getFitnessScore() < min) {
+                min = solution.getFitnessScore();
             }
         }
         return min;
@@ -79,7 +79,7 @@ public final class Utils {
             final List<AbstractSolution> solutions) {
         double sum = 0;
         for (AbstractSolution solution : solutions) {
-            sum += solution.getDistance();
+            sum += solution.getFitnessScore();
         }
         return sum;
     }
diff --git a/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java b/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java
index 1e5cc3e08d8716c414692e756c10d8f04f1c126b..307added31483112a3c687f8bf78c7b35a3f90e8 100644
--- a/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java
+++ b/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java
@@ -27,7 +27,7 @@ class SolutionDistanceTest  {
         List<double[]> data = generateData(20, 5);
         double[] expected = generateExpected(20);
         solution.computeScoreTo(data, expected);
-        assertEquals(1.5925246410672433, solution.getDistance());
+        assertEquals(1.5925246410672433, solution.getFitnessScore());
     }
 
     @Test
diff --git a/src/test/java/be/cylab/java/wowa/training/TrainerTest.java b/src/test/java/be/cylab/java/wowa/training/TrainerTest.java
index 7b050dcb1658491e0b729f8e98da750b448fbf1e..51ae5d705c6ae6ae69702271aeb1c566126b5a28 100644
--- a/src/test/java/be/cylab/java/wowa/training/TrainerTest.java
+++ b/src/test/java/be/cylab/java/wowa/training/TrainerTest.java
@@ -36,7 +36,7 @@ class TrainerTest {
         double[] expected = generateExpected(100);
         List<AbstractSolution> computed_population = this.trainer.computeDistances(population, data, expected);
         AbstractSolution bestSolution = this.trainer.findBestSolution(computed_population);
-        assertEquals(3.0482902643223135, bestSolution.getDistance());
+        assertEquals(3.0482902643223135, bestSolution.getFitnessScore());
     }
 
     @Test
@@ -46,7 +46,7 @@ class TrainerTest {
         for (AbstractSolution solution : population) {
             assertEquals(5, solution.getWeightsW().length);
             assertEquals(5, solution.getWeightsP().length);
-            assertEquals(Double.POSITIVE_INFINITY, solution.getDistance());
+            assertEquals(Double.POSITIVE_INFINITY, solution.getFitnessScore());
         }
     }