diff --git a/Common/gmshpy.i b/Common/gmshpy.i
index 0c87dfb7f114b558ab81b27de0acf4f0199a0a34..f47e2c126e69906689ecda57df9a631074093b48 100644
--- a/Common/gmshpy.i
+++ b/Common/gmshpy.i
@@ -31,6 +31,8 @@
   #include "polynomialBasis.h"
   #include "Gauss.h"
   #include "meshPartitionOptions.h"
+  #include "meshGFaceOptimize.h"
+  #include "Generator.h"
   #include "linearSystemCSR.h"
   #include "elasticitySolver.h"
   #include "meshGFaceLloyd.h"
@@ -133,6 +135,8 @@ namespace std {
 %include "functionPython.h"
 %include "meshGFaceLloyd.h"
 %include "DefaultOptions.h"
+%include "meshGFaceOptimize.h"
+%include "Generator.h"
 #if defined(HAVE_FLTK)
 %include "FlGui.h"
 #endif
diff --git a/Mesh/meshGFaceOptimize.h b/Mesh/meshGFaceOptimize.h
index 988d82a96a3fbf4e566f9364c920629acafb5c37..55b2d34e371aef4b2dcfe9d4c7a66723f4a8af78 100644
--- a/Mesh/meshGFaceOptimize.h
+++ b/Mesh/meshGFaceOptimize.h
@@ -57,7 +57,9 @@ void buildListOfEdgeAngle(e2t_cont adj, std::vector<edge_angle> &edges_detected,
 void buildEdgeToElements(std::vector<MElement*> &tris, e2t_cont &adj);
 
 void laplaceSmoothing(GFace *gf, int niter=1);
+/*
 void edgeSwappingLawson(GFace *gf);
+*/
 
 enum swapCriterion {SWCR_DEL, SWCR_QUAL, SWCR_NORM, SWCR_CLOSE};
 enum splitCriterion {SPCR_CLOSE, SPCR_QUAL, SPCR_ALLWAYS};
@@ -69,20 +71,20 @@ int edgeSwapPass(GFace *gf,
                  const std::vector<double> &Vs,
                  const std::vector<double> &vSizes, 
                  const std::vector<double> &vSizesBGM);
-int edgeSplitPass(double maxLC, GFace *gf, 
+/*int edgeSplitPass(double maxLC, GFace *gf, 
                   std::set<MTri3*, compareTri3Ptr> &allTris,
                   const splitCriterion &cr,   
                   std::vector<double> &Us,
                   std::vector<double> &Vs,
                   std::vector<double> &vSizes ,
                   std::vector<double> &vSizesBGM);
-void removeFourTrianglesNodes(GFace *gf, bool replace_by_quads);
 int edgeCollapsePass(double minLC, GFace *gf, 
                      std::set<MTri3*, compareTri3Ptr> &allTris,
                      std::vector<double> &Us,
                      std::vector<double> &Vs,
                      std::vector<double> &vSizes ,
-                     std::vector<double> &vSizesBGM);
+                     std::vector<double> &vSizesBGM);*/
+void removeFourTrianglesNodes(GFace *gf, bool replace_by_quads);
 void buildMeshGenerationDataStructures(GFace *gf, 
                                        std::set<MTri3*, compareTri3Ptr> &AllTris,
                                        std::vector<double> &vSizes,