diff --git a/src/aevol_modify.cpp b/src/aevol_modify.cpp
index 5637ab3271a174265e4df8ae69502abc8209cc9b..ae1fe162e9e62729678dd50e0f148180fa69d7e4 100644
--- a/src/aevol_modify.cpp
+++ b/src/aevol_modify.cpp
@@ -604,8 +604,7 @@ int main(int argc, char* argv[]) {
       
         exp_manager->exp_m_7_->evaluate(indiv,old_world->grid(x,y)->individual()->w_max(),selection_pressure);
 
-        local_fit_array[loc_indiv_id] =
-                indiv->fitness;
+        local_fit_array[loc_indiv_id] = indiv->fitness_;
         sum_local_fit += local_fit_array[loc_indiv_id];
 
         delete indiv;
diff --git a/src/libaevol/7/ExpManager_7.cpp b/src/libaevol/7/ExpManager_7.cpp
index afe22560d284d170616a6e9f1202e69da0e5dedf..a08e7556a387446ba64a711d78f7e9bb39587bdd 100644
--- a/src/libaevol/7/ExpManager_7.cpp
+++ b/src/libaevol/7/ExpManager_7.cpp
@@ -250,7 +250,7 @@ void ExpManager_7::selection(int indiv_id) {
       cur_y = (y + j + grid_height_) % grid_height_;
 
       if (fitness_function == FITNESS_EXP) {
-        local_fit_array[count] = previous_individuals[cur_x * grid_height_ + cur_y]->fitness;
+        local_fit_array[count] = previous_individuals[cur_x * grid_height_ + cur_y]->fitness_;
       } else if (fitness_function == FITNESS_GLOBAL_SUM) {
 #ifdef __REGUL
         double composed_fitness = 0;
@@ -1986,7 +1986,7 @@ void ExpManager_7::compute_fitness(Individual_7* indiv,
 
   fuzzy_factory_->give_back(delta);
 
-  indiv->fitness = exp(
+  indiv->fitness_ = exp(
       -selection_pressure *
       ((double)indiv->metaerror));
 #endif
@@ -2142,7 +2142,7 @@ void ExpManager_7::finalize_network(Individual_7* indiv, double selection_pressu
         indiv->metaerror / (double) (pth->nb_env_);
   }
 
-  indiv->fitness = exp(
+  indiv->fitness_ = exp(
       -selection_pressure *
       ((double) indiv->metaerror));
 }
@@ -2351,12 +2351,12 @@ void ExpManager_7::update_phenotype( Individual_7* indiv ) {
 #endif
 
 int32_t ExpManager_7::find_best_indiv_idx(Individual_7** indivs, int32_t nb_indivs) const {
-  double best_fitness = indivs[0]->fitness;
+  double best_fitness = indivs[0]->fitness_;
   int idx_best = 0;
   for (int indiv_idx = 1 ; indiv_idx < (int) nb_indivs ; ++indiv_idx) {
-    if (indivs[indiv_idx]->fitness > best_fitness) {
+    if (indivs[indiv_idx]->fitness_ > best_fitness) {
       idx_best = indiv_idx;
-      best_fitness = indivs[indiv_idx]->fitness;
+      best_fitness = indivs[indiv_idx]->fitness_;
     }
   }
   return idx_best;
@@ -2538,8 +2538,7 @@ void ExpManager_7::run_a_step(double w_max, double selection_pressure) {
     double    sum_local_fit     = 0.0;
 
     for (int loc_indiv_id = 0; loc_indiv_id < nb_indivs_; loc_indiv_id++) {
-      local_fit_array[loc_indiv_id] =
-              previous_individuals[loc_indiv_id]->fitness;
+      local_fit_array[loc_indiv_id] = previous_individuals[loc_indiv_id]->fitness_;
       sum_local_fit += local_fit_array[loc_indiv_id];
     }
 
@@ -2892,11 +2891,11 @@ for (size_t index = 0; index < mutant_list_.size(); index++) {
 #ifndef AEVOL_NO_STATS
 #pragma omp single
   {
-      double best_fitness = previous_individuals[0]->fitness;
+      double best_fitness = previous_individuals[0]->fitness_;
 
   for (int indiv_id = 1; indiv_id < (int) exp_m_->nb_indivs(); indiv_id++) {
-    if (previous_individuals[indiv_id]->fitness > best_fitness) {
-      best_fitness = previous_individuals[indiv_id]->fitness;
+    if (previous_individuals[indiv_id]->fitness_ > best_fitness) {
+      best_fitness = previous_individuals[indiv_id]->fitness_;
 
     }
 
diff --git a/src/libaevol/7/Individual_7.cpp b/src/libaevol/7/Individual_7.cpp
index ba3f74cd3584c4f71826b9389da4b89cbd4d7e3c..72215a579399ee1136e3d6722414369dcd080faa 100644
--- a/src/libaevol/7/Individual_7.cpp
+++ b/src/libaevol/7/Individual_7.cpp
@@ -89,7 +89,7 @@ Individual_7::Individual_7(Individual_7* clone,
     metadata_ = new List_Metadata(this);
   #endif
 
-  fitness = clone->fitness;
+  fitness_  = clone->fitness_;
   metaerror = clone->metaerror;
 
   for (auto& strand: {Strand::LEADING, Strand::LAGGING}) {
diff --git a/src/libaevol/7/Individual_7.h b/src/libaevol/7/Individual_7.h
index d33edd3e02b4c7c9951d54f21d32ce5d55e8f973..9bc1aaa98c319d430a20f2b852113d1b6b84402a 100644
--- a/src/libaevol/7/Individual_7.h
+++ b/src/libaevol/7/Individual_7.h
@@ -90,7 +90,7 @@ class Individual_7 : public Observable {
   AbstractFuzzy* phenotype = nullptr;
   AbstractFuzzy* delta = nullptr;
 #endif
-  double fitness;
+  double fitness_;
   double metaerror;
 
 
diff --git a/src/libaevol/7/Stats_7.cpp b/src/libaevol/7/Stats_7.cpp
index 6b4c8b73d4301c31611a1db3bec3ed9ac48a118a..6a0c2aa73d22d2262549983b4b01bd5cf893f521 100644
--- a/src/libaevol/7/Stats_7.cpp
+++ b/src/libaevol/7/Stats_7.cpp
@@ -243,7 +243,7 @@ void Stats_7::compute(Individual_7* indiv, bool non_coding) {
   nb_clones_ = simd_individual_->nb_clones_;
   pop_size_ = simd_individual_->nb_indivs_;
 
-  fitness_ = indiv->fitness;
+  fitness_ = indiv->fitness_;
   metabolic_error_  = indiv->metaerror;
 
   amount_of_dna_ = indiv->dna_->length();
@@ -346,7 +346,7 @@ void Stats_7::compute_average(bool non_coding) {
 
     if (non_coding) simd_individual_->previous_individuals[indiv_id]->compute_non_coding();
 
-    fitness_ += simd_individual_->previous_individuals[indiv_id]->fitness;
+    fitness_ += simd_individual_->previous_individuals[indiv_id]->fitness_;
     metabolic_error_ += simd_individual_->previous_individuals[indiv_id]->metaerror;
 
     amount_of_dna_ += simd_individual_->previous_individuals[indiv_id]->dna_->length();
diff --git a/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp b/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp
index 0ef39b96cb81726d3ce44a8e649aa8643299146b..254c91bf3cb5b45fc85d54a92726a6412f77353e 100644
--- a/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp
+++ b/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp
@@ -306,7 +306,7 @@ int main(int argc, char* argv[]) {
 
   exp_manager->exp_m_7_->evaluate(indiv, w_max, selection_pressure);
 
-  printf("Initial fitness     = %e\n", indiv->fitness);
+  printf("Initial fitness     = %e\n", indiv->fitness_);
   printf("Initial genome size = %" PRId32 "\n", indiv->dna_->length());
 
   double base_metaerror = 0;
@@ -367,7 +367,7 @@ int main(int argc, char* argv[]) {
     base_metaerror += cloned->metaerror;
 
   #pragma omp atomic
-    base_fitness += cloned->fitness;
+    base_fitness += cloned->fitness_;
 
     int32_t i_edges = 0;
     for (Rna_7* rna : cloned->rnas()) {
@@ -384,12 +384,12 @@ int main(int argc, char* argv[]) {
 
   #pragma omp atomic
             fabs_fitness_loss[i_edges] +=
-                std::fabs(base_fitness - cloned->fitness);
+                std::fabs(base_fitness - cloned->fitness_);
 
   #pragma omp atomic
             fabs_fitness_loss_percent[i_edges] +=
-                (std::fabs(base_fitness - cloned->fitness)) /
-                cloned->fitness;
+                (std::fabs(base_fitness - cloned->fitness_)) /
+                cloned->fitness_;
 
             affinity.enhancer_factor = saved_enhancer_factor;
             affinity.operator_factor = saved_operator_factor;
@@ -408,7 +408,7 @@ int main(int argc, char* argv[]) {
     fabs_fitness_loss_percent[i] /= nb_iteration;
   }
 
-  indiv->fitness   = base_fitness / (double)nb_iteration;
+  indiv->fitness_  = base_fitness / (double)nb_iteration;
   indiv->metaerror = base_metaerror / (double)nb_iteration;
 
   // Init protein ID:
@@ -544,7 +544,7 @@ int main(int argc, char* argv[]) {
   delete[] pth_array;
 #endif
   if (verbose) {
-    printf("Initial fitness     = %f\n", indiv->fitness);
+    printf("Initial fitness     = %f\n", indiv->fitness_);
     printf("Initial genome size = %" PRId32 "\n", indiv->dna_->length());
   }
 
@@ -615,7 +615,7 @@ int main(int argc, char* argv[]) {
           if (trace_mutations) {
             // Store initial values before the mutation
             metabolic_error_before = indiv->metaerror;
-            fitness_before         = indiv->fitness;
+            fitness_before         = indiv->fitness_;
             unitlen_before         = indiv->dna_->length();
           }
 
@@ -630,10 +630,9 @@ int main(int argc, char* argv[]) {
             double impact_on_metabolic_error =
                 indiv->metaerror - metabolic_error_before;
 
-            double impact_on_fitness = indiv->fitness - fitness_before;
+            double impact_on_fitness = indiv->fitness_ - fitness_before;
 
-            double selection_coefficient =
-                indiv->fitness / fitness_before - 1.0;
+            double selection_coefficient = indiv->fitness_ / fitness_before - 1.0;
 
             mut->generic_description_string(mut_descr_string);
             fprintf(fixed_mutations_file,
@@ -776,7 +775,7 @@ int main(int argc, char* argv[]) {
               base_metaerror += cloned->metaerror;
 
               //#pragma omp atomic
-              base_fitness += cloned->fitness;
+              base_fitness += cloned->fitness_;
 
               int32_t i_edges = 0;
               for (Rna_7* rna : cloned->rnas()) {
@@ -825,12 +824,12 @@ int main(int argc, char* argv[]) {
 
   #pragma omp atomic
                       fabs_fitness_loss[i_edges] +=
-                          std::fabs(base_fitness - cloned->fitness);
+                          std::fabs(base_fitness - cloned->fitness_);
 
   #pragma omp atomic
                       fabs_fitness_loss_percent[i_edges] +=
-                          (std::fabs(base_fitness - cloned->fitness)) /
-                          cloned->fitness;
+                          (std::fabs(base_fitness - cloned->fitness_)) /
+                          cloned->fitness_;
 
 
                       affinity.enhancer_factor = saved_enhancer_factor;
@@ -850,7 +849,7 @@ int main(int argc, char* argv[]) {
               fabs_fitness_loss_percent[i] /= nb_iteration;
             }
 
-            cloned_generation->fitness = base_fitness / (double)nb_iteration;
+            cloned_generation->fitness_ = base_fitness / (double)nb_iteration;
             cloned_generation->metaerror =
                 base_metaerror / (double)nb_iteration;
 
diff --git a/src/post_treatments/aevol_post_ancestor_stats_7.cpp b/src/post_treatments/aevol_post_ancestor_stats_7.cpp
index 46b35b5b008d5c3d13507a1e908754e0830b8e05..642d4c41d3d4a1e8a72aa32e9788def7b2397fab 100644
--- a/src/post_treatments/aevol_post_ancestor_stats_7.cpp
+++ b/src/post_treatments/aevol_post_ancestor_stats_7.cpp
@@ -231,7 +231,7 @@ int main(int argc, char* argv[]) {
     
     exp_manager->exp_m_7_->evaluate(indiv,w_max,selection_pressure,phenotypic_target_handler_);
 
-    printf("Initial fitness     = %e\n", indiv->fitness);
+    printf("Initial fitness     = %e\n", indiv->fitness_);
     printf("Initial genome size = %" PRId32 "\n", indiv->dna_->length());
 
     double base_metaerror = 0;
@@ -260,18 +260,18 @@ int main(int argc, char* argv[]) {
         base_metaerror += cloned->metaerror;
 
 #pragma omp atomic
-        base_fitness += cloned->fitness;
+        base_fitness += cloned->fitness_;
 
 #pragma omp critical
         fitmeta << t0 << ",RANDOM," << i << "," << cloned->metaerror << ","
-                << cloned->fitness << std::endl;
+                << cloned->fitness_ << std::endl;
 
         //printf("Iteration RANDOM at %d : %d/%d : %lf %e\n", t, i, nb_iteration,
         //       cloned->dist_to_target_by_feature(METABOLISM), cloned->fitness());
         delete cloned;
     }
 
-    indiv->fitness = base_fitness / (double) nb_iteration;
+    indiv->fitness_ = base_fitness / (double) nb_iteration;
     indiv->metaerror = base_metaerror / (double) nb_iteration;
 
     exp_manager->exp_m_7_->write_stat(stats_anc,indiv,AeTime::time(),true);
@@ -311,7 +311,7 @@ int main(int argc, char* argv[]) {
   delete [] pth_array_0;
 #endif
   if (verbose) {
-    printf("Initial fitness     = %f\n", indiv->fitness);
+    printf("Initial fitness     = %f\n", indiv->fitness_);
     printf("Initial genome size = %" PRId32 "\n", indiv->dna_->length());
   }
 
@@ -381,7 +381,7 @@ int main(int argc, char* argv[]) {
       if (trace_mutations) {
         // Store initial values before the mutation
         metabolic_error_before = indiv->metaerror;
-        fitness_before         = indiv->fitness;
+        fitness_before         = indiv->fitness_;
         unitlen_before         = indiv->dna_->length();
       }
 
@@ -397,9 +397,9 @@ int main(int argc, char* argv[]) {
             indiv->metaerror -
             metabolic_error_before;
 
-        double impact_on_fitness = indiv->fitness - fitness_before;
+        double impact_on_fitness = indiv->fitness_ - fitness_before;
 
-        double selection_coefficient = indiv->fitness / fitness_before - 1.0;
+        double selection_coefficient = indiv->fitness_ / fitness_before - 1.0;
 
         mut->generic_description_string(mut_descr_string);
         fprintf(fixed_mutations_file,
@@ -502,7 +502,7 @@ int main(int argc, char* argv[]) {
             base_metaerror += cloned->metaerror;
 
     //#pragma omp atomic
-            base_fitness += cloned->fitness;
+            base_fitness += cloned->fitness_;
 
     //#pragma omp critical
             // fitmeta << current_generation << ",RANDOM," << i << "," << cloned->metaerror << ","
@@ -513,7 +513,7 @@ int main(int argc, char* argv[]) {
             delete cloned;
         }
 
-        cloned_generation->fitness = base_fitness / (double) nb_iteration;
+        cloned_generation->fitness_ = base_fitness / (double) nb_iteration;
         cloned_generation->metaerror = base_metaerror / (double) nb_iteration;
 
       #pragma omp critical