diff --git a/src/main.cpp b/src/main.cpp
index 190ffae2704d3eb3f68a33e67e5bbadf57901353..697c66efcc43eb62bdd2fc68e00314d1f2dcfab2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -137,10 +137,6 @@ int main(int argc, char *argv[])
     { // quite dirty!
       for (size_t i_boundary=0; i_boundary<mesh.connectivity().numberOfNodeBoundaries(); ++i_boundary) {
 	Connectivity2D::NodesBoundary nodes_boundary = mesh.connectivity().nodesBoundary(i_boundary);
-	std::cout << i_boundary
-		  << " -> "
-		  << mesh.connectivity().nodesBoundary(i_boundary).second.extent(0)
-		  << '\n';
 	unsigned int ref = nodes_boundary.first;
 	TinyVector<2> normal(0,0);
 	if ((ref == 3) or (ref == 4)) {
@@ -148,7 +144,6 @@ int main(int argc, char *argv[])
 	} else {
 	  normal = TinyVector<2>(1,0);
 	}
-	std::cout << "boundary=" << i_boundary << " ref=" << ref << " n=" << normal << '\n';
 	const Kokkos::View<const unsigned int*> nodes_ids = nodes_boundary.second;
 	std::vector<unsigned int> node_boundary_vector(nodes_ids.extent(0));
 	for (size_t r=0; r<nodes_ids.extent(0); ++r) {
@@ -207,7 +202,7 @@ int main(int argc, char *argv[])
 
     std::ofstream gnuplot("sol.gnu");
     for (size_t j=0; j<mesh.numberOfCells(); ++j) {
-      for (int r=0; r<3; ++r) {
+      for (int r=0; r<mesh.connectivity().cellNbNodes()[j]; ++r) {
 	const Rd& x = mesh.xr()[mesh.connectivity().cellNodes()(j,r)];
 	gnuplot << x[0] << ' ' << x[1] << '\n';
       }
diff --git a/src/mesh/Connectivity2D.hpp b/src/mesh/Connectivity2D.hpp
index 52ba080349f9870b6e0ad2fab8a4b18c16099bb4..8daa70263314669e777a5c9479cc55da7a782c72 100644
--- a/src/mesh/Connectivity2D.hpp
+++ b/src/mesh/Connectivity2D.hpp
@@ -178,7 +178,6 @@ private:
     }
 
     m_number_of_faces = face_cells_map.size();
-    std::cout << "number of faces: " << m_number_of_faces << '\n';
     Kokkos::View<unsigned short*> face_nb_nodes("face_nb_nodes", m_number_of_faces);
     Kokkos::parallel_for(m_number_of_faces, KOKKOS_LAMBDA(const unsigned int& l) {
 	face_nb_nodes[l] = 2;
diff --git a/src/mesh/GmshReader.cpp b/src/mesh/GmshReader.cpp
index 8fe4ba6323b2fec4a25326d714f7be58c15790d8..ee6d46fe791325c01364410f94fb0cc50d8494b0 100644
--- a/src/mesh/GmshReader.cpp
+++ b/src/mesh/GmshReader.cpp
@@ -761,20 +761,11 @@ GmshReader::__proceedData()
     std::cerr << "*** using a 3d mesh (NIY)\n";
     std::exit(0);
   } else if ((dimension2_mask, elementNumber)>0) {
-    const size_t nb_edges = (dimension1_mask, elementNumber);
-    std::cout << "nb_edges=" << nb_edges << '\n';
-    const Kokkos::View<unsigned int*[2]> face_nodes("edge_nodes", nb_edges);
-    for (size_t j=0; j<nb_edges; ++j) {
-      face_nodes(j,0) = __edges[j][0];
-      face_nodes(j,1) = __edges[j][1];
-    }
-
     const size_t nb_cells = (dimension2_mask, elementNumber);
     size_t max_nb_node_per_cell=3;
     if (elementNumber[2] > 0) {
       max_nb_node_per_cell = 4;
     }
-    std::cout << "nb_cells=" << nb_cells << '\n';
     const Kokkos::View<unsigned int**> cell_nodes("cell_nodes", nb_cells, max_nb_node_per_cell);
     const size_t nb_triangles = __triangles.extent(0);
     for (size_t j=0; j<nb_triangles; ++j) {
@@ -807,24 +798,19 @@ GmshReader::__proceedData()
       const unsigned int ref = __edges_ref[e];
       ref_faces_map[ref].push_back(edge_number);
     }
-    for (const auto& ref_face_list : ref_faces_map) {
-      std::cout << ref_face_list.first << ":\n";
-      for (auto face_id : ref_face_list.second) {
-	std::cout << face_id << ' ';
-      }
-      std::cout << '\n';
-    }
+
     for (const auto& ref_face_list : ref_faces_map) {
       connectivity.addFaceBoundary(ref_face_list.first,
     				   ref_face_list.second);
     }
 
+    const Kokkos::View<const unsigned int**> face_nodes = connectivity.faceNodes();
+
     for (size_t i=0; i<connectivity.numberOfFaceBoundaries(); ++i) {
       const Connectivity2D::FacesBoundary& faces_boundary
 	= connectivity.facesBoundary(i);
 
       const unsigned int ref = faces_boundary.first;
-
       std::set<unsigned int> node_id_set;
       const Kokkos::View<const unsigned int*> face_ids
 	= faces_boundary.second;
@@ -845,10 +831,6 @@ GmshReader::__proceedData()
       }
       connectivity.addNodeBoundary(ref, node_id_list);
     }
-// __edges[edgeNumber]
-    // 	= Edge(a, b);
-    //   __edges_ref[edgeNumber] = __references[i];
-
 
     typedef Mesh<Connectivity2D> MeshType;
     typedef TinyVector<2, double> Rd;
@@ -864,7 +846,7 @@ GmshReader::__proceedData()
     std::ofstream gnuplot("mesh.gnu");
 
     for (size_t j=0; j<mesh.numberOfCells(); ++j) {
-      for (int r=0; r<3; ++r) {
+      for (int r=0; r<mesh.connectivity().cellNbNodes()[j]; ++r) {
 	const Rd& x = mesh.xr()[mesh.connectivity().cellNodes()(j,r)];
 	gnuplot << x[0] << ' ' << x[1] << '\n';
       }
@@ -874,8 +856,8 @@ GmshReader::__proceedData()
     gnuplot.close();
 
   } else if ((dimension1_mask, elementNumber)>0) {
-    // std::cerr << "*** using a 1d mesh (NIY)\n";
-    // std::exit(0);
+    std::cerr << "*** using a 1d mesh (NIY)\n";
+    std::exit(0);
   } else {
     std::cerr << "*** using a dimension 0 mesh is forbidden!\n";
     std::exit(0);
diff --git a/src/scheme/AcousticSolver.hpp b/src/scheme/AcousticSolver.hpp
index edfe605c46d0ce264d6ebda265733b06056655c6..5900807bb34028298ddeb6373f3f4bbb453d7fb0 100644
--- a/src/scheme/AcousticSolver.hpp
+++ b/src/scheme/AcousticSolver.hpp
@@ -188,13 +188,11 @@ private:
 
 	    m_Ar(r) = P*m_Ar(r)*P + nxn;
 	    m_br(r) = P*m_br(r);
-	    std::cout << "A(" << r << ")=" << m_Ar(r) << '\n';
 	  });
 	break;
       }
       }
     }
-    std::exit(0);
   }
   
   Kokkos::View<Rd*>