diff --git a/Core/PythonAPI/src/ParticleDistribution.pypp.cpp b/Core/PythonAPI/src/ParticleDistribution.pypp.cpp
index 098552835147d60fb04ae3641934bb6d90a1dd4e..83ba92f448874033026f8f230bb6b937ce243159 100644
--- a/Core/PythonAPI/src/ParticleDistribution.pypp.cpp
+++ b/Core/PythonAPI/src/ParticleDistribution.pypp.cpp
@@ -369,6 +369,16 @@ void register_ParticleDistribution_class(){
                 "getParameterDistribution"
                 , getParameterDistribution_function_type( &::ParticleDistribution::getParameterDistribution ) );
         
+        }
+        { //::ParticleDistribution::getParticle
+        
+            typedef ::IParticle const * ( ::ParticleDistribution::*getParticle_function_type)(  ) const;
+            
+            ParticleDistribution_exposer.def( 
+                "getParticle"
+                , getParticle_function_type( &::ParticleDistribution::getParticle )
+                , bp::return_value_policy< bp::reference_existing_object >() );
+        
         }
         { //::ParticleDistribution::setAmbientMaterial
         
diff --git a/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp b/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp
index dd4f7cd2569bce32b8c86e466300d1d7bb335911..ee941ecde939e6a355f3fc3d73cf57f76365901a 100644
--- a/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp
+++ b/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp
@@ -34,6 +34,8 @@ void register_global_variables(){
 
     bp::scope().attr("PID2") = Units::PID2;
 
+    bp::scope().attr("PID4") = Units::PID4;
+
     bp::scope().attr("PI_SQR") = Units::PI_SQR;
 
     bp::scope().attr("angstrom") = Units::angstrom;
diff --git a/Core/PythonAPI/src/PythonModule.cpp b/Core/PythonAPI/src/PythonModule.cpp
index 9fb4fd79131ff4cf69466ce4fcf046029d3ef6c6..7ca468238bece5c517a5e02a985903310ba70c82 100644
--- a/Core/PythonAPI/src/PythonModule.cpp
+++ b/Core/PythonAPI/src/PythonModule.cpp
@@ -10,134 +10,134 @@ GCC_DIAG_ON(missing-field-initializers)
 #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
 #define PY_ARRAY_UNIQUE_SYMBOL BORNAGAIN_PYTHONAPI_ARRAY
 #include "numpy/arrayobject.h"
-#include "FormFactorFullSphere.pypp.h"
-#include "Lattice.pypp.h"
-#include "FormFactorInfLongBox.pypp.h"
-#include "Layer.pypp.h"
-#include "FormFactorHemiEllipsoid.pypp.h"
-#include "FormFactorPrism3.pypp.h"
+#include "FormFactorFullSpheroid.pypp.h"
+#include "DistributionGate.pypp.h"
+#include "SimpleSelectionRule.pypp.h"
+#include "RealParameterWrapper.pypp.h"
+#include "vdouble1d_t.pypp.h"
 #include "SimulationParameters.pypp.h"
-#include "FormFactorInfLongRipple1.pypp.h"
-#include "FTDistribution1DVoigt.pypp.h"
-#include "FormFactorRipple1.pypp.h"
-#include "ParticleInfo.pypp.h"
-#include "ICompositeSample.pypp.h"
-#include "OffSpecSimulation.pypp.h"
-#include "IResolutionFunction2D.pypp.h"
-#include "vector_kvector_t.pypp.h"
-#include "FTDistribution1DGate.pypp.h"
-#include "FormFactorRipple2.pypp.h"
-#include "FTDistribution2DVoigt.pypp.h"
-#include "IFormFactorBorn.pypp.h"
-#include "FormFactorPyramid.pypp.h"
-#include "ISample.pypp.h"
+#include "ThreadInfo.pypp.h"
+#include "InterferenceFunction2DLattice.pypp.h"
+#include "LayerInterface.pypp.h"
 #include "ILayout.pypp.h"
+#include "FormFactorCone6.pypp.h"
 #include "FormFactorTetrahedron.pypp.h"
-#include "Simulation.pypp.h"
-#include "ParticleLayout.pypp.h"
-#include "IRotation.pypp.h"
-#include "FTDistribution2DCone.pypp.h"
-#include "FormFactorEllipsoidalCylinder.pypp.h"
-#include "FTDistribution1DGauss.pypp.h"
-#include "HomogeneousMaterial.pypp.h"
-#include "cvector_t.pypp.h"
-#include "FTDistribution2DGauss.pypp.h"
-#include "IObservable.pypp.h"
-#include "FormFactorBox.pypp.h"
-#include "DistributionLogNormal.pypp.h"
-#include "FormFactorCylinder.pypp.h"
-#include "Detector.pypp.h"
-#include "RotationZ.pypp.h"
-#include "IObserver.pypp.h"
-#include "ResolutionFunction2DGaussian.pypp.h"
-#include "IParameterized.pypp.h"
-#include "FormFactorGauss.pypp.h"
-#include "FormFactorDecoratorDebyeWaller.pypp.h"
-#include "IDetectorResolution.pypp.h"
+#include "FTDistribution1DCosine.pypp.h"
+#include "FTDistribution1DTriangle.pypp.h"
 #include "FormFactorWeighted.pypp.h"
-#include "InterferenceFunction2DLattice.pypp.h"
-#include "RealParameterWrapper.pypp.h"
-#include "LayerInterface.pypp.h"
-#include "ParticleCoreShell.pypp.h"
-#include "FormFactorTruncatedCube.pypp.h"
-#include "InterferenceFunction1DLattice.pypp.h"
-#include "FormFactorCrystal.pypp.h"
-#include "Instrument.pypp.h"
-#include "PythonInterface_global_variables.pypp.h"
-#include "ParticleDistribution.pypp.h"
-#include "IFTDistribution1D.pypp.h"
-#include "FormFactorTrivial.pypp.h"
+#include "InterferenceFunctionRadialParaCrystal.pypp.h"
 #include "DistributionGaussian.pypp.h"
-#include "Lattice1DIFParameters.pypp.h"
-#include "DistributionCosine.pypp.h"
-#include "IClusteredParticles.pypp.h"
-#include "FormFactorLorentz.pypp.h"
-#include "Bin1DCVector.pypp.h"
+#include "IDetectorResolution.pypp.h"
+#include "FormFactorCylinder.pypp.h"
+#include "Crystal.pypp.h"
+#include "FTDistribution1DCauchy.pypp.h"
+#include "IFormFactorBorn.pypp.h"
+#include "FormFactorEllipsoidalCylinder.pypp.h"
 #include "InterferenceFunctionNone.pypp.h"
-#include "IFormFactorDecorator.pypp.h"
-#include "Bin1D.pypp.h"
-#include "ISampleBuilder.pypp.h"
-#include "IntensityDataIOFactory.pypp.h"
 #include "FTDistribution2DGate.pypp.h"
-#include "FormFactorInfLongRipple2.pypp.h"
-#include "IMaterial.pypp.h"
-#include "InterferenceFunction2DParaCrystal.pypp.h"
-#include "Particle.pypp.h"
+#include "vector_kvector_t.pypp.h"
 #include "FormFactorTruncatedSpheroid.pypp.h"
-#include "MesoCrystal.pypp.h"
+#include "Particle.pypp.h"
+#include "FormFactorTrivial.pypp.h"
+#include "ConstKBinAxis.pypp.h"
 #include "FTDistribution2DCauchy.pypp.h"
-#include "IInterferenceFunction.pypp.h"
-#include "FTDistribution1DCosine.pypp.h"
-#include "IParticle.pypp.h"
-#include "FTDistribution1DTriangle.pypp.h"
-#include "FormFactorPrism6.pypp.h"
-#include "HomogeneousMagneticMaterial.pypp.h"
-#include "FormFactorFullSpheroid.pypp.h"
-#include "IntensityData.pypp.h"
-#include "DistributionGate.pypp.h"
-#include "ThreadInfo.pypp.h"
-#include "IAxis.pypp.h"
-#include "CustomBinAxis.pypp.h"
-#include "FormFactorCone6.pypp.h"
-#include "ICloneable.pypp.h"
-#include "PythonInterface_free_functions.pypp.h"
+#include "FormFactorCrystal.pypp.h"
+#include "ParticleDistribution.pypp.h"
 #include "vector_longinteger_t.pypp.h"
-#include "FormFactorSphereLogNormalRadius.pypp.h"
-#include "FormFactorSphereGaussianRadius.pypp.h"
-#include "FormFactorTruncatedSphere.pypp.h"
-#include "IntensityDataFunctions.pypp.h"
-#include "DistributionLorentz.pypp.h"
-#include "ParticleComposition.pypp.h"
-#include "ConstKBinAxis.pypp.h"
-#include "ParameterDistribution.pypp.h"
-#include "ParameterPool.pypp.h"
-#include "vector_complex_t.pypp.h"
-#include "SpecularSimulation.pypp.h"
+#include "ResolutionFunction2DGaussian.pypp.h"
+#include "FTDistribution1DGauss.pypp.h"
+#include "FTDistribution1DGate.pypp.h"
 #include "FormFactorAnisoPyramid.pypp.h"
-#include "FormFactorCuboctahedron.pypp.h"
+#include "FixedBinAxis.pypp.h"
 #include "MultiLayer.pypp.h"
-#include "FormFactorCone.pypp.h"
-#include "IDistribution1D.pypp.h"
-#include "AttLimits.pypp.h"
+#include "IFormFactor.pypp.h"
+#include "kvector_t.pypp.h"
+#include "FormFactorSphereUniformRadius.pypp.h"
+#include "OffSpecSimulation.pypp.h"
+#include "FormFactorRipple1.pypp.h"
+#include "Simulation.pypp.h"
+#include "IObservable.pypp.h"
+#include "FormFactorLorentz.pypp.h"
+#include "SpecularSimulation.pypp.h"
+#include "ISelectionRule.pypp.h"
+#include "FormFactorRipple2.pypp.h"
+#include "RotationZ.pypp.h"
 #include "LayerRoughness.pypp.h"
+#include "Bin1DCVector.pypp.h"
+#include "FormFactorSphereGaussianRadius.pypp.h"
+#include "ParameterPool.pypp.h"
+#include "FormFactorPrism3.pypp.h"
+#include "IMaterial.pypp.h"
+#include "FTDistribution1DVoigt.pypp.h"
+#include "IntensityDataFunctions.pypp.h"
+#include "FormFactorPrism6.pypp.h"
+#include "IClusteredParticles.pypp.h"
 #include "VariableBinAxis.pypp.h"
-#include "SimpleSelectionRule.pypp.h"
-#include "RotationEuler.pypp.h"
-#include "FixedBinAxis.pypp.h"
-#include "InterferenceFunctionRadialParaCrystal.pypp.h"
-#include "Lattice2DIFParameters.pypp.h"
-#include "IFormFactor.pypp.h"
-#include "vdouble1d_t.pypp.h"
+#include "IParticle.pypp.h"
+#include "DistributionCosine.pypp.h"
+#include "FormFactorHemiEllipsoid.pypp.h"
+#include "IAxis.pypp.h"
+#include "vector_integer_t.pypp.h"
+#include "IntensityDataIOFactory.pypp.h"
+#include "ParameterDistribution.pypp.h"
+#include "Layer.pypp.h"
+#include "FormFactorPyramid.pypp.h"
 #include "RotationY.pypp.h"
-#include "IFTDistribution2D.pypp.h"
+#include "CustomBinAxis.pypp.h"
+#include "FTDistribution2DCone.pypp.h"
+#include "IFTDistribution1D.pypp.h"
+#include "DistributionLorentz.pypp.h"
+#include "IDistribution1D.pypp.h"
+#include "HomogeneousMagneticMaterial.pypp.h"
+#include "FormFactorTruncatedCube.pypp.h"
+#include "FormFactorCuboctahedron.pypp.h"
+#include "cvector_t.pypp.h"
+#include "PythonInterface_free_functions.pypp.h"
+#include "FormFactorSphereLogNormalRadius.pypp.h"
+#include "FormFactorInfLongRipple1.pypp.h"
+#include "IResolutionFunction2D.pypp.h"
+#include "FormFactorFullSphere.pypp.h"
+#include "ParticleLayout.pypp.h"
+#include "FormFactorBox.pypp.h"
+#include "IParameterized.pypp.h"
+#include "Lattice2DIFParameters.pypp.h"
+#include "IFormFactorDecorator.pypp.h"
+#include "InterferenceFunction1DLattice.pypp.h"
+#include "RotationEuler.pypp.h"
+#include "ISample.pypp.h"
+#include "ISampleBuilder.pypp.h"
+#include "IRotation.pypp.h"
+#include "PythonInterface_global_variables.pypp.h"
 #include "Beam.pypp.h"
-#include "FormFactorSphereUniformRadius.pypp.h"
+#include "HomogeneousMaterial.pypp.h"
+#include "ICloneable.pypp.h"
+#include "ParticleCoreShell.pypp.h"
+#include "FormFactorDecoratorDebyeWaller.pypp.h"
+#include "MesoCrystal.pypp.h"
+#include "Lattice1DIFParameters.pypp.h"
+#include "IObserver.pypp.h"
+#include "IntensityData.pypp.h"
+#include "Lattice.pypp.h"
+#include "AttLimits.pypp.h"
+#include "IInterferenceFunction.pypp.h"
+#include "ParticleInfo.pypp.h"
+#include "Instrument.pypp.h"
+#include "FormFactorInfLongBox.pypp.h"
+#include "FormFactorCone.pypp.h"
+#include "ParticleComposition.pypp.h"
 #include "RotationX.pypp.h"
-#include "FTDistribution1DCauchy.pypp.h"
-#include "kvector_t.pypp.h"
-#include "Crystal.pypp.h"
-#include "ISelectionRule.pypp.h"
-#include "vector_integer_t.pypp.h"
+#include "FTDistribution2DGauss.pypp.h"
+#include "FormFactorTruncatedSphere.pypp.h"
+#include "FTDistribution2DVoigt.pypp.h"
+#include "FormFactorGauss.pypp.h"
+#include "InterferenceFunction2DParaCrystal.pypp.h"
+#include "Detector.pypp.h"
+#include "FormFactorInfLongRipple2.pypp.h"
+#include "ICompositeSample.pypp.h"
+#include "Bin1D.pypp.h"
+#include "vector_complex_t.pypp.h"
+#include "DistributionLogNormal.pypp.h"
+#include "IFTDistribution2D.pypp.h"
 #include "__call_policies.pypp.hpp"
 #include "__convenience.pypp.hpp"
 #include "__call_policies.pypp.hpp"
diff --git a/Fit/PythonAPI/src/PythonModule.cpp b/Fit/PythonAPI/src/PythonModule.cpp
index 71ae4cd85cf44b959ad278d1af3d5f6542dad187..bcbcdcddc6ce209e53c5a2eb72228cadb1856bf3 100644
--- a/Fit/PythonAPI/src/PythonModule.cpp
+++ b/Fit/PythonAPI/src/PythonModule.cpp
@@ -5,37 +5,37 @@ GCC_DIAG_OFF(missing-field-initializers)
 #include "boost/python.hpp"
 GCC_DIAG_ON(unused-parameter)
 GCC_DIAG_ON(missing-field-initializers)
-#include "FitObject.pypp.h"
-#include "IntensityFunctionLog.pypp.h"
 #include "IntensityFunctionSqrt.pypp.h"
-#include "FitStrategyDefault.pypp.h"
-#include "IChiSquaredModule.pypp.h"
+#include "MinimizerFactory.pypp.h"
+#include "IMinimizer.pypp.h"
+#include "vector_string_t.pypp.h"
+#include "SquaredFunctionSystematicError.pypp.h"
+#include "IntensityNormalizer.pypp.h"
+#include "IIntensityFunction.pypp.h"
+#include "INamed.pypp.h"
+#include "IntensityFunctionLog.pypp.h"
+#include "FitSuiteParameters.pypp.h"
 #include "AttFitting.pypp.h"
-#include "FitStrategyAdjustParameters.pypp.h"
+#include "FitParameter.pypp.h"
+#include "IntensityScaleAndShiftNormalizer.pypp.h"
+#include "IChiSquaredModule.pypp.h"
 #include "FitStrategyAdjustMinimizer.pypp.h"
-#include "ISquaredFunction.pypp.h"
+#include "IFitStrategy.pypp.h"
+#include "FitStrategyFixParameters.pypp.h"
 #include "SquaredFunctionGaussianError.pypp.h"
-#include "IIntensityFunction.pypp.h"
-#include "IntensityScaleAndShiftNormalizer.pypp.h"
-#include "SquaredFunctionMeanSquaredError.pypp.h"
-#include "FitSuiteParameters.pypp.h"
-#include "IMinimizer.pypp.h"
 #include "IIntensityNormalizer.pypp.h"
-#include "FitParameter.pypp.h"
-#include "INamed.pypp.h"
-#include "FitStrategyReleaseParameters.pypp.h"
 #include "FitSuite.pypp.h"
-#include "IntensityNormalizer.pypp.h"
-#include "FitStrategyFixParameters.pypp.h"
-#include "FitSuiteObjects.pypp.h"
-#include "SquaredFunctionSystematicError.pypp.h"
-#include "MinimizerFactory.pypp.h"
+#include "FitStrategyAdjustParameters.pypp.h"
 #include "ChiSquaredModule.pypp.h"
-#include "SquaredFunctionSimError.pypp.h"
 #include "MinimizerOptions.pypp.h"
 #include "SquaredFunctionDefault.pypp.h"
-#include "vector_string_t.pypp.h"
-#include "IFitStrategy.pypp.h"
+#include "SquaredFunctionMeanSquaredError.pypp.h"
+#include "ISquaredFunction.pypp.h"
+#include "FitStrategyDefault.pypp.h"
+#include "FitObject.pypp.h"
+#include "FitSuiteObjects.pypp.h"
+#include "SquaredFunctionSimError.pypp.h"
+#include "FitStrategyReleaseParameters.pypp.h"
 
 BOOST_PYTHON_MODULE(libBornAgainFit){
     boost::python::docstring_options doc_options(true, true, false);