diff --git a/Core/PythonAPI/inc/Reflect3D.pypp.h b/Core/PythonAPI/inc/Reflect3D.pypp.h
deleted file mode 100644
index 5d003206f808c401fb0edaab75238bd8435ed23c..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/Reflect3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef Reflect3D_hpp__pyplusplus_wrapper
-#define Reflect3D_hpp__pyplusplus_wrapper
-
-void register_Reflect3D_class();
-
-#endif//Reflect3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/ReflectX3D.pypp.h b/Core/PythonAPI/inc/ReflectX3D.pypp.h
deleted file mode 100644
index ca8dad88c909bea4e3335adc1c6148ad47b0e166..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/ReflectX3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef ReflectX3D_hpp__pyplusplus_wrapper
-#define ReflectX3D_hpp__pyplusplus_wrapper
-
-void register_ReflectX3D_class();
-
-#endif//ReflectX3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/ReflectY3D.pypp.h b/Core/PythonAPI/inc/ReflectY3D.pypp.h
deleted file mode 100644
index cc8fdbfadb0f43ccbe6d3a5fc1c7b330811a2625..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/ReflectY3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef ReflectY3D_hpp__pyplusplus_wrapper
-#define ReflectY3D_hpp__pyplusplus_wrapper
-
-void register_ReflectY3D_class();
-
-#endif//ReflectY3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/ReflectZ3D.pypp.h b/Core/PythonAPI/inc/ReflectZ3D.pypp.h
deleted file mode 100644
index ca8a8c7a9057978a850070849d32ca388f1e2861..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/ReflectZ3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef ReflectZ3D_hpp__pyplusplus_wrapper
-#define ReflectZ3D_hpp__pyplusplus_wrapper
-
-void register_ReflectZ3D_class();
-
-#endif//ReflectZ3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/Scale3D.pypp.h b/Core/PythonAPI/inc/Scale3D.pypp.h
deleted file mode 100644
index 1641eab785fa31d26fc5f0cf6ebe433062c38a64..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/Scale3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef Scale3D_hpp__pyplusplus_wrapper
-#define Scale3D_hpp__pyplusplus_wrapper
-
-void register_Scale3D_class();
-
-#endif//Scale3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/ScaleX3D.pypp.h b/Core/PythonAPI/inc/ScaleX3D.pypp.h
deleted file mode 100644
index c359faf348c187c035e03a3544ea9dd2079ccda8..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/ScaleX3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef ScaleX3D_hpp__pyplusplus_wrapper
-#define ScaleX3D_hpp__pyplusplus_wrapper
-
-void register_ScaleX3D_class();
-
-#endif//ScaleX3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/ScaleY3D.pypp.h b/Core/PythonAPI/inc/ScaleY3D.pypp.h
deleted file mode 100644
index 2b881b4122d9ced6be6f3608a85328e14a9141bc..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/ScaleY3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef ScaleY3D_hpp__pyplusplus_wrapper
-#define ScaleY3D_hpp__pyplusplus_wrapper
-
-void register_ScaleY3D_class();
-
-#endif//ScaleY3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/ScaleZ3D.pypp.h b/Core/PythonAPI/inc/ScaleZ3D.pypp.h
deleted file mode 100644
index 60c0967b765deed724e48258d70ba74191a214d6..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/ScaleZ3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef ScaleZ3D_hpp__pyplusplus_wrapper
-#define ScaleZ3D_hpp__pyplusplus_wrapper
-
-void register_ScaleZ3D_class();
-
-#endif//ScaleZ3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/Translate3D.pypp.h b/Core/PythonAPI/inc/Translate3D.pypp.h
deleted file mode 100644
index 670f0f10c8f7996a20b649015ecb932ec4cdc5bc..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/Translate3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef Translate3D_hpp__pyplusplus_wrapper
-#define Translate3D_hpp__pyplusplus_wrapper
-
-void register_Translate3D_class();
-
-#endif//Translate3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/TranslateX3D.pypp.h b/Core/PythonAPI/inc/TranslateX3D.pypp.h
deleted file mode 100644
index d1083abd0362593239c6a22fea3afc862a0e5553..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/TranslateX3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef TranslateX3D_hpp__pyplusplus_wrapper
-#define TranslateX3D_hpp__pyplusplus_wrapper
-
-void register_TranslateX3D_class();
-
-#endif//TranslateX3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/TranslateY3D.pypp.h b/Core/PythonAPI/inc/TranslateY3D.pypp.h
deleted file mode 100644
index 2c3c144119044690c604cf7f774a64634159befd..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/TranslateY3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef TranslateY3D_hpp__pyplusplus_wrapper
-#define TranslateY3D_hpp__pyplusplus_wrapper
-
-void register_TranslateY3D_class();
-
-#endif//TranslateY3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/inc/TranslateZ3D.pypp.h b/Core/PythonAPI/inc/TranslateZ3D.pypp.h
deleted file mode 100644
index 8af346e57065a9bf9d8f2c174f4e568406054399..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/inc/TranslateZ3D.pypp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// This file has been generated by Py++.
-
-#ifndef TranslateZ3D_hpp__pyplusplus_wrapper
-#define TranslateZ3D_hpp__pyplusplus_wrapper
-
-void register_TranslateZ3D_class();
-
-#endif//TranslateZ3D_hpp__pyplusplus_wrapper
diff --git a/Core/PythonAPI/src/HomogeneousMaterial.pypp.cpp b/Core/PythonAPI/src/HomogeneousMaterial.pypp.cpp
index a056b0ec595ce1854b46a934449f5afa12ab4f18..6487a4be86be63964b8361f7595c0ea3a2127ce3 100644
--- a/Core/PythonAPI/src/HomogeneousMaterial.pypp.cpp
+++ b/Core/PythonAPI/src/HomogeneousMaterial.pypp.cpp
@@ -79,44 +79,17 @@ namespace bp = boost::python;
 
 void register_HomogeneousMaterial_class(){
 
-    { //::HomogeneousMaterial
-        typedef bp::class_< HomogeneousMaterial, bp::bases< IMaterial > > HomogeneousMaterial_exposer_t;
-        HomogeneousMaterial_exposer_t HomogeneousMaterial_exposer = HomogeneousMaterial_exposer_t( "HomogeneousMaterial", bp::init< >() );
-        bp::scope HomogeneousMaterial_scope( HomogeneousMaterial_exposer );
-        HomogeneousMaterial_exposer.def( bp::init< complex_t const & >(( bp::arg("refractive_index") )) );
-        HomogeneousMaterial_exposer.def( bp::init< std::string const &, complex_t const & >(( bp::arg("name"), bp::arg("refractive_index") )) );
-        HomogeneousMaterial_exposer.def( bp::init< std::string const &, double, double >(( bp::arg("name"), bp::arg("refractive_index_real"), bp::arg("refractive_index_imag") )) );
-        HomogeneousMaterial_exposer.def( bp::init< HomogeneousMaterial const & >(( bp::arg("other") )) );
-        { //::HomogeneousMaterial::getRefractiveIndex
-        
-            typedef ::complex_t ( ::HomogeneousMaterial::*getRefractiveIndex_function_type )(  ) const;
-            
-            HomogeneousMaterial_exposer.def( 
-                "getRefractiveIndex"
-                , getRefractiveIndex_function_type( &::HomogeneousMaterial::getRefractiveIndex ) );
-        
-        }
-        { //::HomogeneousMaterial::operator=
-        
-            typedef ::HomogeneousMaterial & ( ::HomogeneousMaterial::*assign_function_type )( ::HomogeneousMaterial const & ) ;
-            
-            HomogeneousMaterial_exposer.def( 
-                "assign"
-                , assign_function_type( &::HomogeneousMaterial::operator= )
-                , ( bp::arg("other") )
-                , bp::return_self< >() );
-        
-        }
-        { //::HomogeneousMaterial::setRefractiveIndex
-        
-            typedef void ( ::HomogeneousMaterial::*setRefractiveIndex_function_type )( ::complex_t ) ;
-            
-            HomogeneousMaterial_exposer.def( 
-                "setRefractiveIndex"
-                , setRefractiveIndex_function_type( &::HomogeneousMaterial::setRefractiveIndex )
-                , ( bp::arg("refractive_index") ) );
-        
-        }
-    }
+    bp::class_< HomogeneousMaterial, bp::bases< IMaterial > >( "HomogeneousMaterial", bp::init< >() )    
+        .def( bp::init< complex_t const & >(( bp::arg("refractive_index") )) )    
+        .def( bp::init< std::string const &, complex_t const & >(( bp::arg("name"), bp::arg("refractive_index") )) )    
+        .def( bp::init< std::string const &, double, double >(( bp::arg("name"), bp::arg("refractive_index_real"), bp::arg("refractive_index_imag") )) )    
+        .def( bp::init< HomogeneousMaterial const & >(( bp::arg("other") )) )    
+        .def( 
+            "getRefractiveIndex"
+            , (::complex_t ( ::HomogeneousMaterial::* )(  ) const)( &::HomogeneousMaterial::getRefractiveIndex ) )    
+        .def( 
+            "setRefractiveIndex"
+            , (void ( ::HomogeneousMaterial::* )( ::complex_t ) )( &::HomogeneousMaterial::setRefractiveIndex )
+            , ( bp::arg("refractive_index") ) );
 
 }
diff --git a/Core/PythonAPI/src/PythonModule.cpp b/Core/PythonAPI/src/PythonModule.cpp
index 8ff7048b275d6379a7c28723cf24f43730911ddd..5b6622e081fddc0ab46c71a1e902318aea4e0e3d 100644
--- a/Core/PythonAPI/src/PythonModule.cpp
+++ b/Core/PythonAPI/src/PythonModule.cpp
@@ -70,18 +70,10 @@
 #include "PythonInterface_free_functions.pypp.h" 
 #include "PythonInterface_global_variables.pypp.h" 
 #include "RealParameterWrapper.pypp.h" 
-#include "Reflect3D.pypp.h" 
-#include "ReflectX3D.pypp.h" 
-#include "ReflectY3D.pypp.h" 
-#include "ReflectZ3D.pypp.h" 
 #include "Rotate3D.pypp.h" 
 #include "RotateX3D.pypp.h" 
 #include "RotateY3D.pypp.h" 
 #include "RotateZ3D.pypp.h" 
-#include "Scale3D.pypp.h" 
-#include "ScaleX3D.pypp.h" 
-#include "ScaleY3D.pypp.h" 
-#include "ScaleZ3D.pypp.h" 
 #include "SimpleSelectionRule.pypp.h" 
 #include "Simulation.pypp.h" 
 #include "SimulationParameters.pypp.h" 
@@ -90,10 +82,6 @@
 #include "StochasticParameter_t.pypp.h" 
 #include "StochasticSampledParameter.pypp.h" 
 #include "Transform3D.pypp.h" 
-#include "Translate3D.pypp.h" 
-#include "TranslateX3D.pypp.h" 
-#include "TranslateY3D.pypp.h" 
-#include "TranslateZ3D.pypp.h" 
 #include "vdouble1d_t.pypp.h" 
 #include "vector_DiffuseParticleInfoPtr_t.pypp.h" 
 #include "vector_IFormFactorPtr_t.pypp.h" 
@@ -140,22 +128,10 @@ BOOST_PYTHON_MODULE(libBornAgainCore){
     register_kvector_t_class();
     register_IndexVector3D_class();
     register_cvector_t_class();
-    register_Reflect3D_class();
-    register_ReflectX3D_class();
-    register_ReflectY3D_class();
-    register_ReflectZ3D_class();
     register_Rotate3D_class();
     register_RotateX3D_class();
     register_RotateY3D_class();
     register_RotateZ3D_class();
-    register_Scale3D_class();
-    register_ScaleX3D_class();
-    register_ScaleY3D_class();
-    register_ScaleZ3D_class();
-    register_Translate3D_class();
-    register_TranslateX3D_class();
-    register_TranslateY3D_class();
-    register_TranslateZ3D_class();
     register_IMaterial_class();
     register_HomogeneousMaterial_class();
     register_IDecoration_class();
diff --git a/Core/PythonAPI/src/Reflect3D.pypp.cpp b/Core/PythonAPI/src/Reflect3D.pypp.cpp
deleted file mode 100644
index 9494ecc1d5152ebc61187bc17720607ae1a44885..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/Reflect3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "Reflect3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_Reflect3D_class(){
-
-    bp::class_< Geometry::Reflect3D, bp::bases< Geometry::Transform3D > >( "Reflect3D", bp::init< >() )    
-        .def( bp::init< double, double, double, double >(( bp::arg("a"), bp::arg("b"), bp::arg("c"), bp::arg("d") )) );
-
-}
diff --git a/Core/PythonAPI/src/ReflectX3D.pypp.cpp b/Core/PythonAPI/src/ReflectX3D.pypp.cpp
deleted file mode 100644
index ea82d63b8a90d9f298af9640011735975829ac9f..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/ReflectX3D.pypp.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "ReflectX3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_ReflectX3D_class(){
-
-    bp::class_< Geometry::ReflectX3D, bp::bases< Geometry::Reflect3D > >( "ReflectX3D", bp::init< bp::optional< double > >(( bp::arg("x")=0 )) );
-
-}
diff --git a/Core/PythonAPI/src/ReflectY3D.pypp.cpp b/Core/PythonAPI/src/ReflectY3D.pypp.cpp
deleted file mode 100644
index 239bb1433bd3b3190e4812df49c85ce23a4d517e..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/ReflectY3D.pypp.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "ReflectY3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_ReflectY3D_class(){
-
-    bp::class_< Geometry::ReflectY3D, bp::bases< Geometry::Reflect3D > >( "ReflectY3D", bp::init< bp::optional< double > >(( bp::arg("y")=0 )) );
-
-}
diff --git a/Core/PythonAPI/src/ReflectZ3D.pypp.cpp b/Core/PythonAPI/src/ReflectZ3D.pypp.cpp
deleted file mode 100644
index befe92188a51c23fef1982954ba5d47f05497785..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/ReflectZ3D.pypp.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "ReflectZ3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_ReflectZ3D_class(){
-
-    bp::class_< Geometry::ReflectZ3D, bp::bases< Geometry::Reflect3D > >( "ReflectZ3D", bp::init< bp::optional< double > >(( bp::arg("z")=0 )) );
-
-}
diff --git a/Core/PythonAPI/src/Rotate3D.pypp.cpp b/Core/PythonAPI/src/Rotate3D.pypp.cpp
index 78e67b1db190ba03f97dd586fb905a0eb10cf27a..e84ad4801a506b87ea5398505383282d63f09648 100644
--- a/Core/PythonAPI/src/Rotate3D.pypp.cpp
+++ b/Core/PythonAPI/src/Rotate3D.pypp.cpp
@@ -80,6 +80,8 @@ namespace bp = boost::python;
 void register_Rotate3D_class(){
 
     bp::class_< Geometry::Rotate3D, bp::bases< Geometry::Transform3D > >( "Rotate3D", bp::init< >() )    
-        .def( bp::init< double, Geometry::Vector3D< double > const & >(( bp::arg("a"), bp::arg("v") )) );
+        .def( bp::init< double, Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const & >(( bp::arg("a"), bp::arg("p1"), bp::arg("p2") )) )    
+        .def( bp::init< Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const & >(( bp::arg("fr1"), bp::arg("fr2"), bp::arg("to1"), bp::arg("to2") )) )    
+        .def( bp::init< double, Geometry::BasicVector3D< double > const & >(( bp::arg("a"), bp::arg("v") )) );
 
 }
diff --git a/Core/PythonAPI/src/Scale3D.pypp.cpp b/Core/PythonAPI/src/Scale3D.pypp.cpp
deleted file mode 100644
index 0a59b3f0576ec150e583baa74d6edcc07aa80ffa..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/Scale3D.pypp.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "Scale3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_Scale3D_class(){
-
-    bp::class_< Geometry::Scale3D, bp::bases< Geometry::Transform3D > >( "Scale3D", bp::init< >() )    
-        .def( bp::init< double, double, double >(( bp::arg("x"), bp::arg("y"), bp::arg("z") )) )    
-        .def( bp::init< double >(( bp::arg("s") )) );
-
-}
diff --git a/Core/PythonAPI/src/ScaleX3D.pypp.cpp b/Core/PythonAPI/src/ScaleX3D.pypp.cpp
deleted file mode 100644
index 28a3ea4d7820a3bc3688941446a24432e3204715..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/ScaleX3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "ScaleX3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_ScaleX3D_class(){
-
-    bp::class_< Geometry::ScaleX3D, bp::bases< Geometry::Scale3D > >( "ScaleX3D", bp::init< >() )    
-        .def( bp::init< double >(( bp::arg("x") )) );
-
-}
diff --git a/Core/PythonAPI/src/ScaleY3D.pypp.cpp b/Core/PythonAPI/src/ScaleY3D.pypp.cpp
deleted file mode 100644
index 398261ce60ccb66db1b0cc67f2cdc1665f5c84d6..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/ScaleY3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "ScaleY3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_ScaleY3D_class(){
-
-    bp::class_< Geometry::ScaleY3D, bp::bases< Geometry::Scale3D > >( "ScaleY3D", bp::init< >() )    
-        .def( bp::init< double >(( bp::arg("y") )) );
-
-}
diff --git a/Core/PythonAPI/src/ScaleZ3D.pypp.cpp b/Core/PythonAPI/src/ScaleZ3D.pypp.cpp
deleted file mode 100644
index 116b799f8bc3a17c917e3a066894e8e680662106..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/ScaleZ3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "ScaleZ3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_ScaleZ3D_class(){
-
-    bp::class_< Geometry::ScaleZ3D, bp::bases< Geometry::Scale3D > >( "ScaleZ3D", bp::init< >() )    
-        .def( bp::init< double >(( bp::arg("z") )) );
-
-}
diff --git a/Core/PythonAPI/src/Transform3D.pypp.cpp b/Core/PythonAPI/src/Transform3D.pypp.cpp
index 4021e8f5c9c0634c1950ad172edc11faf6d4e291..aa14c0a6fa8a9aa93ef4ef6b22d12b2b38e88801 100644
--- a/Core/PythonAPI/src/Transform3D.pypp.cpp
+++ b/Core/PythonAPI/src/Transform3D.pypp.cpp
@@ -88,6 +88,7 @@ void register_Transform3D_class(){
                 "__getitem__"
                 , (double ( ::Geometry::Transform3D::Transform3D_row::* )( int ) const)( &::Geometry::Transform3D::Transform3D_row::operator[] )
                 , ( bp::arg("jj") ) );
+        Transform3D_exposer.def( bp::init< Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const &, Geometry::BasicVector3D< double > const & >(( bp::arg("fr0"), bp::arg("fr1"), bp::arg("fr2"), bp::arg("to0"), bp::arg("to1"), bp::arg("to2") )) );
         Transform3D_exposer.def( bp::init< Geometry::Transform3D const & >(( bp::arg("m") )) );
         { //::Geometry::Transform3D::dx
         
@@ -115,16 +116,6 @@ void register_Transform3D_class(){
                 "dz"
                 , dz_function_type( &::Geometry::Transform3D::dz ) );
         
-        }
-        { //::Geometry::Transform3D::getDecomposition
-        
-            typedef void ( ::Geometry::Transform3D::*getDecomposition_function_type )( ::Geometry::Scale3D &,::Geometry::Rotate3D &,::Geometry::Translate3D & ) const;
-            
-            Transform3D_exposer.def( 
-                "getDecomposition"
-                , getDecomposition_function_type( &::Geometry::Transform3D::getDecomposition )
-                , ( bp::arg("scale"), bp::arg("rotation"), bp::arg("translation") ) );
-        
         }
         { //::Geometry::Transform3D::inverse
         
diff --git a/Core/PythonAPI/src/Translate3D.pypp.cpp b/Core/PythonAPI/src/Translate3D.pypp.cpp
deleted file mode 100644
index e17a6561e2eba7dd18b326b0a8324b773781f8ab..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/Translate3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "Translate3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_Translate3D_class(){
-
-    bp::class_< Geometry::Translate3D, bp::bases< Geometry::Transform3D > >( "Translate3D", bp::init< >() )    
-        .def( bp::init< double, double, double >(( bp::arg("x"), bp::arg("y"), bp::arg("z") )) );
-
-}
diff --git a/Core/PythonAPI/src/TranslateX3D.pypp.cpp b/Core/PythonAPI/src/TranslateX3D.pypp.cpp
deleted file mode 100644
index ca46467adae084c45efa78e584ce32bc8d8f8343..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/TranslateX3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "TranslateX3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_TranslateX3D_class(){
-
-    bp::class_< Geometry::TranslateX3D, bp::bases< Geometry::Translate3D > >( "TranslateX3D", bp::init< >() )    
-        .def( bp::init< double >(( bp::arg("x") )) );
-
-}
diff --git a/Core/PythonAPI/src/TranslateY3D.pypp.cpp b/Core/PythonAPI/src/TranslateY3D.pypp.cpp
deleted file mode 100644
index 1f3a1275ed8a286ed301f69873bff16e24d2b355..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/TranslateY3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "TranslateY3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_TranslateY3D_class(){
-
-    bp::class_< Geometry::TranslateY3D, bp::bases< Geometry::Translate3D > >( "TranslateY3D", bp::init< >() )    
-        .def( bp::init< double >(( bp::arg("y") )) );
-
-}
diff --git a/Core/PythonAPI/src/TranslateZ3D.pypp.cpp b/Core/PythonAPI/src/TranslateZ3D.pypp.cpp
deleted file mode 100644
index 9fef6df1e6f7f4f9ebd3418b7c3cbff9ecfb057c..0000000000000000000000000000000000000000
--- a/Core/PythonAPI/src/TranslateZ3D.pypp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// This file has been generated by Py++.
-
-#include "Macros.h"
-GCC_DIAG_OFF(unused-parameter);
-GCC_DIAG_OFF(missing-field-initializers);
-#include "boost/python.hpp"
-#include "boost/python/suite/indexing/vector_indexing_suite.hpp"
-GCC_DIAG_ON(unused-parameter);
-GCC_DIAG_ON(missing-field-initializers);
-#include "BasicVector3D.h"
-#include "Bin.h"
-#include "Crystal.h"
-#include "DiffuseParticleInfo.h"
-#include "FTDistributions.h"
-#include "FormFactorBox.h"
-#include "FormFactorCrystal.h"
-#include "FormFactorCylinder.h"
-#include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorFullSphere.h"
-#include "FormFactorGauss.h"
-#include "FormFactorLorentz.h"
-#include "FormFactorParallelepiped.h"
-#include "FormFactorPrism3.h"
-#include "FormFactorPyramid.h"
-#include "FormFactorSphereGaussianRadius.h"
-#include "HomogeneousMaterial.h"
-#include "ICloneable.h"
-#include "IClusteredParticles.h"
-#include "ICompositeSample.h"
-#include "IDecoration.h"
-#include "IFormFactor.h"
-#include "IFormFactorBorn.h"
-#include "IFormFactorDecorator.h"
-#include "IInterferenceFunction.h"
-#include "IMaterial.h"
-#include "IParameterized.h"
-#include "ISample.h"
-#include "ISampleBuilder.h"
-#include "ISelectionRule.h"
-#include "ISingleton.h"
-#include "Instrument.h"
-#include "InterferenceFunction1DParaCrystal.h"
-#include "InterferenceFunction2DLattice.h"
-#include "InterferenceFunction2DParaCrystal.h"
-#include "InterferenceFunctionNone.h"
-#include "Lattice.h"
-#include "Lattice2DIFParameters.h"
-#include "LatticeBasis.h"
-#include "Layer.h"
-#include "LayerDecorator.h"
-#include "LayerRoughness.h"
-#include "Lattice2DIFParameters.h"
-#include "MaterialManager.h"
-#include "MesoCrystal.h"
-#include "MultiLayer.h"
-#include "OpticalFresnel.h"
-#include "ParameterPool.h"
-#include "Particle.h"
-#include "ParticleBuilder.h"
-#include "ParticleCoreShell.h"
-#include "ParticleDecoration.h"
-#include "ParticleInfo.h"
-#include "PositionParticleInfo.h"
-#include "PythonOutputData.h"
-#include "PythonPlusplusHelper.h"
-#include "RealParameterWrapper.h"
-#include "Simulation.h"
-#include "SimulationParameters.h"
-#include "IStochasticParameter.h"
-#include "StochasticGaussian.h"
-#include "StochasticSampledParameter.h"
-#include "StochasticDoubleGate.h"
-#include "Transform3D.h"
-#include "Types.h"
-#include "Units.h"
-#include "TranslateZ3D.pypp.h"
-
-namespace bp = boost::python;
-
-void register_TranslateZ3D_class(){
-
-    bp::class_< Geometry::TranslateZ3D, bp::bases< Geometry::Translate3D > >( "TranslateZ3D", bp::init< >() )    
-        .def( bp::init< double >(( bp::arg("z") )) );
-
-}
diff --git a/Core/python_module.pri b/Core/python_module.pri
index 28add69f087cd2409a19ce076ea0bcba986e991b..6d070cc4d410966672a05a2190d70b881a649842 100644
--- a/Core/python_module.pri
+++ b/Core/python_module.pri
@@ -70,18 +70,10 @@ HEADERS +=  \
     PythonAPI/inc/PythonInterface_free_functions.pypp.h \
     PythonAPI/inc/PythonInterface_global_variables.pypp.h \
     PythonAPI/inc/RealParameterWrapper.pypp.h \
-    PythonAPI/inc/Reflect3D.pypp.h \
-    PythonAPI/inc/ReflectX3D.pypp.h \
-    PythonAPI/inc/ReflectY3D.pypp.h \
-    PythonAPI/inc/ReflectZ3D.pypp.h \
     PythonAPI/inc/Rotate3D.pypp.h \
     PythonAPI/inc/RotateX3D.pypp.h \
     PythonAPI/inc/RotateY3D.pypp.h \
     PythonAPI/inc/RotateZ3D.pypp.h \
-    PythonAPI/inc/Scale3D.pypp.h \
-    PythonAPI/inc/ScaleX3D.pypp.h \
-    PythonAPI/inc/ScaleY3D.pypp.h \
-    PythonAPI/inc/ScaleZ3D.pypp.h \
     PythonAPI/inc/SimpleSelectionRule.pypp.h \
     PythonAPI/inc/Simulation.pypp.h \
     PythonAPI/inc/SimulationParameters.pypp.h \
@@ -90,10 +82,6 @@ HEADERS +=  \
     PythonAPI/inc/StochasticParameter_t.pypp.h \
     PythonAPI/inc/StochasticSampledParameter.pypp.h \
     PythonAPI/inc/Transform3D.pypp.h \
-    PythonAPI/inc/Translate3D.pypp.h \
-    PythonAPI/inc/TranslateX3D.pypp.h \
-    PythonAPI/inc/TranslateY3D.pypp.h \
-    PythonAPI/inc/TranslateZ3D.pypp.h \
     PythonAPI/inc/vdouble1d_t.pypp.h \
     PythonAPI/inc/vector_DiffuseParticleInfoPtr_t.pypp.h \
     PythonAPI/inc/vector_IFormFactorPtr_t.pypp.h \
@@ -172,18 +160,10 @@ SOURCES +=  \
     PythonAPI/src/PythonInterface_free_functions.pypp.cpp \
     PythonAPI/src/PythonInterface_global_variables.pypp.cpp \
     PythonAPI/src/RealParameterWrapper.pypp.cpp \
-    PythonAPI/src/Reflect3D.pypp.cpp \
-    PythonAPI/src/ReflectX3D.pypp.cpp \
-    PythonAPI/src/ReflectY3D.pypp.cpp \
-    PythonAPI/src/ReflectZ3D.pypp.cpp \
     PythonAPI/src/Rotate3D.pypp.cpp \
     PythonAPI/src/RotateX3D.pypp.cpp \
     PythonAPI/src/RotateY3D.pypp.cpp \
     PythonAPI/src/RotateZ3D.pypp.cpp \
-    PythonAPI/src/Scale3D.pypp.cpp \
-    PythonAPI/src/ScaleX3D.pypp.cpp \
-    PythonAPI/src/ScaleY3D.pypp.cpp \
-    PythonAPI/src/ScaleZ3D.pypp.cpp \
     PythonAPI/src/SimpleSelectionRule.pypp.cpp \
     PythonAPI/src/Simulation.pypp.cpp \
     PythonAPI/src/SimulationParameters.pypp.cpp \
@@ -192,10 +172,6 @@ SOURCES +=  \
     PythonAPI/src/StochasticParameter_t.pypp.cpp \
     PythonAPI/src/StochasticSampledParameter.pypp.cpp \
     PythonAPI/src/Transform3D.pypp.cpp \
-    PythonAPI/src/Translate3D.pypp.cpp \
-    PythonAPI/src/TranslateX3D.pypp.cpp \
-    PythonAPI/src/TranslateY3D.pypp.cpp \
-    PythonAPI/src/TranslateZ3D.pypp.cpp \
     PythonAPI/src/vdouble1d_t.pypp.cpp \
     PythonAPI/src/vector_DiffuseParticleInfoPtr_t.pypp.cpp \
     PythonAPI/src/vector_IFormFactorPtr_t.pypp.cpp \
diff --git a/Fit/PythonAPI/src/FitSuite.pypp.cpp b/Fit/PythonAPI/src/FitSuite.pypp.cpp
index d63be56bcf4f61a1743be561dd59241ef7401f57..f86f464964860fa333d3f279cd2e33ee5905f7c2 100644
--- a/Fit/PythonAPI/src/FitSuite.pypp.cpp
+++ b/Fit/PythonAPI/src/FitSuite.pypp.cpp
@@ -62,6 +62,9 @@ void register_FitSuite_class(){
             "getMinimizer"
             , (::IMinimizer * ( ::FitSuite::* )(  ) )( &::FitSuite::getMinimizer )
             , bp::return_value_policy< bp::reference_existing_object >() )    
+        .def( 
+            "printResults"
+            , (void ( ::FitSuite::* )(  ) const)( &::FitSuite::printResults ) )    
         .def( 
             "runFit"
             , (void ( ::FitSuite::* )(  ) )(&::FitSuite::runFit)
diff --git a/Macros/BoostPythonGenerator/MakePyCore.py b/Macros/BoostPythonGenerator/MakePyCore.py
index d78c61c143a4e0bbb92a72493fbc8bde0ae51199..4f5c7217869450c1f00fa93fc251ce5629f6ac45 100644
--- a/Macros/BoostPythonGenerator/MakePyCore.py
+++ b/Macros/BoostPythonGenerator/MakePyCore.py
@@ -382,14 +382,14 @@ def AdditionalRules(mb):
     mb.class_('DWBASimulation').exclude()
 
   # --- Transform3D.h -------------------------------------------------
-  if "Transform3D.h" in myFiles:
+  #if "Transform3D.h" in myFiles:
     # removing mentioning of Point3D from constructors and member_functions
-    mb.class_( "Point3D<double>").exclude()
-    TransformClasses={"Transform3D","Reflect3D","Translate3D", "Scale3D", "Rotate3D"}
-    for clname in TransformClasses:
-      cl = mb.class_(clname)
-      cl.constructors(lambda decl: 'Point3D' in decl.decl_string, allow_empty=True ).exclude()
-      cl.member_functions(lambda decl: 'Point3D' in decl.decl_string, allow_empty=True ).exclude()
+    #mb.class_( "Point3D<double>").exclude()
+    #TransformClasses={"Transform3D","Reflect3D","Translate3D", "Scale3D", "Rotate3D"}
+    #for clname in TransformClasses:
+      #cl = mb.class_(clname)
+      #cl.constructors(lambda decl: 'Point3D' in decl.decl_string, allow_empty=True ).exclude()
+      #cl.member_functions(lambda decl: 'Point3D' in decl.decl_string, allow_empty=True ).exclude()
 
   # --- Types.h -------------------------------------------------------
   if "Types.h" in myFiles:
@@ -410,8 +410,8 @@ def MakePythonAPI(OutputTempDir):
 
   myIncludes.append('/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7')
   myIncludes.append('/opt/local/include/')
-  #mb = module_builder.module_builder_t(files=myFiles, include_paths=myIncludes, gccxml_path='/opt/local/bin', cflags="-m64")
-  mb = module_builder.module_builder_t(files=myFiles, include_paths=myIncludes, gccxml_path='/opt/local/bin')
+  mb = module_builder.module_builder_t(files=myFiles, include_paths=myIncludes, gccxml_path='/opt/local/bin', cflags="-m64")
+  #mb = module_builder.module_builder_t(files=myFiles, include_paths=myIncludes, gccxml_path='/opt/local/bin')
 
   # ---------------------------------------------------------
   # common properties
diff --git a/Macros/BoostPythonGenerator/MakePyFit.py b/Macros/BoostPythonGenerator/MakePyFit.py
index bcd8fec04065f6a857b2a6ca4c1f7f628f27cd1e..1abc994f2a04cdad772f095713134e98a3cafe65 100644
--- a/Macros/BoostPythonGenerator/MakePyFit.py
+++ b/Macros/BoostPythonGenerator/MakePyFit.py
@@ -71,6 +71,7 @@ def AdditionalRules(mb):
     cl.member_function("setMinimizer").include()
     cl.member_function("addSimulationAndRealData").include()
     cl.member_function("runFit").include()
+    cl.member_function("printResults").include()
 
   if "MinimizerFactory.h" in myFiles:
     cl = mb.class_("MinimizerFactory")