diff --git a/src/Reader/XYZReader.cpp b/src/Reader/XYZReader.cpp
index d2930c3e3ea0c3a3892e99c92e92c39eefec295b..84ce7a8addd1bc256cc5806ee4b42159783329b7 100644
--- a/src/Reader/XYZReader.cpp
+++ b/src/Reader/XYZReader.cpp
@@ -220,17 +220,21 @@ void lib4neuro::XYZReader::transform_input_to_acsf(std::unordered_map<ELEMENT_SY
 		inputs_max[el.first] = std::vector<double>(element_description[el.first]->getSymmetryFunctions()->size());
 		std::fill(inputs_min[el.first].begin(), inputs_min[el.first].end(), std::numeric_limits<double>::max());
 		std::fill(inputs_max[el.first].begin(), inputs_max[el.first].end(), std::numeric_limits<double>::min());
+		
+		// std::cout << "new element: " << inputs_min[el.first].size() << std::endl;
 	}
 	
 	std::vector<ELEMENT_SYMBOL> element_order;//used for input ordering
 
     for(auto       configuration : *data) { /* Iterate over configurations */
 	
+		// std::cout << "A" << std::endl;
 		/* update the output value ranges */
-		for( auto j = 0; j < outputs_min.size(); ++j ){
+		for( size_t j = 0; j < outputs_min.size(); ++j ){
 			outputs_min[ j ] = std::min( outputs_min[ j ], configuration.second[ j ] );
 			outputs_max[ j ] = std::max( outputs_max[ j ], configuration.second[ j ] );
 		}
+		// std::cout << "B" << std::endl;
         idx = 0;
         particles.clear();
 
@@ -254,23 +258,29 @@ void lib4neuro::XYZReader::transform_input_to_acsf(std::unordered_map<ELEMENT_SY
 
             particles.emplace_back(std::make_pair(el, cartesian_coords));
         }
+		// std::cout << "C" << std::endl;
 
         /* Transform Cartesian coordinates into ACSFs */
         std::vector<double> single_particle_coords;
         std::vector<std::pair<ELEMENT_SYMBOL, std::vector<double>>> acsf_coords_prep;
         for(size_t i = 0; i < particles.size(); i++) { /* Iterate over all the particles */
             single_particle_coords.clear();
+			// std::cout << "D" << std::endl;
 
             /* Compute vector of ACSF coordinates for a single particle */
             for (auto sym_func : *element_description[particles.at(i).first]->getSymmetryFunctions()) {
+				// std::cout << "E1" << std::endl;
                 single_particle_coords.emplace_back(sym_func->eval(i, particles));
+				// std::cout << "E2" << std::endl;
             }
-			
+
+			// std::cout << "X" << std::endl;
 			/* update the input value ranges */
 			for( auto j = 0; j < single_particle_coords.size(); ++j ){
 				inputs_min[particles.at(i).first][ j ] = std::min(inputs_min[particles.at(i).first][ j ], single_particle_coords[ j ]);
 				inputs_max[particles.at(i).first][ j ] = std::max(inputs_max[particles.at(i).first][ j ], single_particle_coords[ j ]);
 			}
+			// std::cout << "Y" << std::endl;
 
             /* Store coordinates in a canonic order */
             unsigned int element_ind = 0;
diff --git a/src/SymmetryFunction/SymmetryFunction.cpp b/src/SymmetryFunction/SymmetryFunction.cpp
index 6d0f65243de8724654fe72e63083e83e27333c12..521908e4cf4285281f98e6c0eac0de392fbcaccb 100644
--- a/src/SymmetryFunction/SymmetryFunction.cpp
+++ b/src/SymmetryFunction/SymmetryFunction.cpp
@@ -156,19 +156,19 @@ double lib4neuro::G2::eval(unsigned int particle_ind,
     double extension = this->parameters.at(SYMMETRY_FUNCTION_PARAMETER::EXTENSION);
     double shift = this->parameters.at(SYMMETRY_FUNCTION_PARAMETER::SHIFT);
 
-//    std::cout << "particle " << particle_ind << "(";
-//    for( auto el: cartesian_coord.at(particle_ind).second ){
-//        std::cout << el << " ";
-//    }
-//    std::cout << ")";
+   // std::cout << "particle " << particle_ind << "(";
+   // for( auto el: cartesian_coord.at(particle_ind).second ){
+       // std::cout << el << " ";
+   // }
+   // std::cout << ")";
     for(size_t i = 0; i < cartesian_coord.size(); i++) {
         if(i == particle_ind) {
             continue;
         }
-//        std::cout << " comparing with particle " << i << "(";
-//        for( auto el: cartesian_coord.at(i).second ){
-//            std::cout << el << " ";
-//        }
+       // std::cout << " comparing with particle " << i << "(";
+       // for( auto el: cartesian_coord.at(i).second ){
+           // std::cout << el << " ";
+       // }
 
         /* Compute Euclid distance of i-th particle with the others */
         distance = this->euclid_distance(cartesian_coord.at(particle_ind).second, cartesian_coord.at(i).second);
diff --git a/src/examples/acsf.cpp b/src/examples/acsf.cpp
index 745802bf7a25b9e67bb2136cc7fc478572c05774..a17df681e29a30568f5fb8977c0d273dda7fead7 100644
--- a/src/examples/acsf.cpp
+++ b/src/examples/acsf.cpp
@@ -201,7 +201,6 @@ void dimer_test(
     std::vector<l4n::G2> G2functions;
     for( size_t i = 0; i < g2_extensions.size(); ++i ){
         G2functions.emplace_back( l4n::G2(&g2_cutofffunctions[ i ], g2_extensions[ i ], g2_shifts[ i ] ) );
-        helium_sym_funcs[ i ] = &G2functions[ i ];
     }
 
     /* Specify G2 symmetry functions */
@@ -209,6 +208,12 @@ void dimer_test(
     auto shift = G2functions.size();
     for( size_t i = 0; i < g5_extensions.size(); ++i ){
         G5functions.emplace_back( l4n::G5(&g5_cutofffunctions[ i ], g5_extensions[ i ], g5_shiftsmax[ i ], g5_angles[ i ] ) );
+    }
+
+    for( size_t i = 0; i < g2_extensions.size(); ++i ){
+        helium_sym_funcs[ i ] = &G2functions[ i ];
+	}
+    for( size_t i = 0; i < g5_extensions.size(); ++i ){
         helium_sym_funcs[ i + shift ] = &G5functions[ i ];
     }