diff --git a/Core/Samples/src/MaterialManager.cpp b/Core/Samples/src/MaterialManager.cpp
index 6ab618451483b57c4587d1f4b5b4c8ac1876e6f8..cea706ce4da9656c340207a44b5382f667c821ae 100644
--- a/Core/Samples/src/MaterialManager.cpp
+++ b/Core/Samples/src/MaterialManager.cpp
@@ -68,7 +68,7 @@ const IMaterial *MaterialManager::this_getHomogeneousMaterial(
             HomogeneousMaterial *non_const_mat =
                 const_cast<HomogeneousMaterial *>(old);
             non_const_mat->setRefractiveIndex(refractive_index);
-            msglog(MSG::WARNING) << "MaterialManager::addHomogeneousMaterial()" <<
+            msglog(MSG::ERROR) << "MaterialManager::addHomogeneousMaterial()" <<
                 "-> Redefining refractive index for material '" << name << "'";
         }
         return mat;
diff --git a/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py b/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py
index 3dc904bc4fd5bf616bdde9b14e8d79cafefb3d01..024eb901bca21ff8512fd1f60f77834819b0110a 100644
--- a/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py
+++ b/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py
@@ -18,17 +18,19 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+
     # collection of particles
-    n_particle = complex(1.0-6e-4, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff)
+    cylinder = Particle(mParticle, cylinder_ff)
     prism_ff = FormFactorPrism3(5*nanometer, 5*nanometer)
-    prism = Particle(n_particle, prism_ff)
+    prism = Particle(mParticle, prism_ff)
     particle_decoration = ParticleDecoration()
     particle_decoration.addParticle(cylinder, 0.0, 0.5)
     particle_decoration.addParticle(prism, 0.0, 0.5)
     interference = InterferenceFunctionNone()
     particle_decoration.addInterferenceFunction(interference)
+    
     # air layer with particles and substrate form multi layer
     air_layer = Layer(mAmbience)
     air_layer.setDecoration(particle_decoration)
diff --git a/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py b/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py
index 8f4000f5da0004c20ba60c0744c063327c62d171..5b6c2c582c6977694a3ffbc3e43f9e75bf0a5592 100644
--- a/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py
+++ b/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py
@@ -16,16 +16,17 @@ from utils.show2d import PlotNumpyArray
 def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+
     # collection of particles
-    n_particle = complex(1.0-6e-4, 2e-8)
     radius1 = 5.0*nanometer
     radius2 = 10.0*nanometer
     height1 = radius1
     height2 = radius2
     cylinder_ff1 = FormFactorCylinder(height1, radius1)
-    cylinder1 = Particle(n_particle, cylinder_ff1)
+    cylinder1 = Particle(mParticle, cylinder_ff1)
     cylinder_ff2 = FormFactorCylinder(height2, radius2)
-    cylinder2 = Particle(n_particle, cylinder_ff2)  
+    cylinder2 = Particle(mParticle, cylinder_ff2)  
     nbins = 150
     sigma1 = radius1*0.2
     sigma2 = radius2*0.02
diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py
index 5f323babfb4add4aa4f5370e072d54bd2e126a5c..aa6acf2dbde9d881f6dfe49cce124cd479fc4e80 100644
--- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py
+++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py
@@ -19,10 +19,11 @@ def RunSimulation():
      # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+    
     # collection of particles
-    n_particle = complex(1.0-6e-4, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff)
+    cylinder = Particle(mParticle, cylinder_ff)
     particle_decoration = ParticleDecoration()
     particle_decoration.addParticle(cylinder, 0.0, 1.0)
     interference = InterferenceFunctionNone()
diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py
index 8f09efd5d78bc47a663e5ec741f8d31f6a00461f..427ffa637330e8b8af11b493d0182a276495974a 100644
--- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py
+++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py
@@ -19,16 +19,16 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
 
     multi_layer = MultiLayer()
 
-    n_particle = complex(1.0-6e-4, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
     particle_decoration = ParticleDecoration()
     # preparing prototype of nano particle
     radius = 5*nanometer
     sigma = 0.2*radius
-    nano_particle = Particle(n_particle, cylinder_ff)
+    nano_particle = Particle(mParticle, cylinder_ff)
     # radius of nanoparticles will be sampled with gaussian probability
     nbins = 100
     nfwhm = 2
diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py
index b9820a6b1171967a814ea7c765e3ed8a82f6e8ef..03408d5dda7d274c77e1fb02574d3c283ac1fb9d 100644
--- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py
+++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py
@@ -20,10 +20,12 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )    
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+    
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)    
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff)
+    cylinder = Particle(mParticle, cylinder_ff)
     particle_decoration = ParticleDecoration()
     particle_decoration.addParticle(cylinder, 0.0, 1.0)
     interference = InterferenceFunctionNone()
diff --git a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py
index fb13f47931ad32ef9f1996edf80acdb8d280bfce..7697469d72a0168129f0f6658997fbb5dfff49ad 100644
--- a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py
+++ b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py
@@ -18,10 +18,11 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+    
     # collection of particles
-    n_particle = complex(1.0-6e-4, 2e-8)   
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff)
+    cylinder = Particle(mParticle, cylinder_ff)
     interference = InterferenceFunction1DParaCrystal(20.0*nanometer,7*nanometer, 1e3*nanometer)
     particle_decoration = ParticleDecoration()
     particle_decoration.addParticle(cylinder, 0.0, 1.0)
diff --git a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py
index 2cab1a776f25577e063a62fa1d9fb8a784a937b3..37b687ab5d69d69715b940a4545a85e854891fa0 100644
--- a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py
+++ b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py
@@ -18,11 +18,12 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+    
     # collection of particles
-    n_particle = complex(1.0-6e-4, 2e-8)
 
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff)
+    cylinder = Particle(mParticle, cylinder_ff)
 
     interference = InterferenceFunction2DParaCrystal.createHexagonal(20.0*nanometer, 0.0,20.0*micrometer, 20.0*micrometer)
     pdf = FTDistribution2DCauchy(1.0*nanometer, 1.0*nanometer)
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py
index dc7099565110f0e45a95b5a70c007c3c77841e48..57edeb33dcfb56464c28a20771f50849df93c217 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py
@@ -19,6 +19,8 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+    
     # collection of particles
     lattice_params = Lattice2DIFParameters()
     lattice_params.m_length_1 = 10.0*nanometer
@@ -36,7 +38,7 @@ def RunSimulation():
 
     n_particle = complex(1.0-6e-4, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff.clone())
+    cylinder = Particle(mParticle, cylinder_ff.clone())
     position = kvector_t(0.0, 0.0, 0.0)
     particle_decoration = ParticleDecoration()
     particle_info =  PositionParticleInfo(cylinder, position, 1.0)
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py
index 15fe033d9ac8e9b006199220c18da033ad8d1183..cd3d743fddfc91282163a6f6a3810f65567d406c 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py
@@ -19,6 +19,8 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+
     # collection of particles
     lattice_params = Lattice2DIFParameters()
     lattice_params.m_length_1 = 10.0*nanometer
@@ -33,12 +35,11 @@ def RunSimulation():
     pdf = FTDistribution2DCauchy(300.0*nanometer/2.0/M_PI, 100.0*nanometer/2.0/M_PI)
     interference.setProbabilityDistribution(pdf)
 
-    n_particle = complex(1.0-6e-4, 2e-8)
     particle_decoration = ParticleDecoration()
     position = kvector_t(0.0, 0.0, 0.0)
     # particle 1
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff)
+    cylinder = Particle(mParticle, cylinder_ff)
     position = kvector_t(0.0, 0.0, 0.0)
     particle_info = PositionParticleInfo(cylinder, position, 1.0)
     particle_decoration.addParticleInfo(particle_info)
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py
index 189df50280b97a9d0f6b473d16f216aa1f6502f7..3c4d38b637bc39df43e17c50e2449687151f5c69 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py
@@ -19,6 +19,8 @@ def RunSimulation():
 # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+
     # collection of particles
     lattice_params = Lattice2DIFParameters()
     lattice_params.m_length_1 = 10.0*nanometer
@@ -34,9 +36,8 @@ def RunSimulation():
     pdf.setGamma(30.0*degree)
     interference.setProbabilityDistribution(pdf)
     
-    n_particle = complex(1.0-6e-4, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
-    cylinder = Particle(n_particle, cylinder_ff)
+    cylinder = Particle(mParticle, cylinder_ff)
     position = kvector_t(0.0, 0.0, 0.0)
     particle_decoration = ParticleDecoration()
     particle_info =  PositionParticleInfo(cylinder, position, 1.0)
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py
index baa13cad49b95a979eb52bda1fe1a0b513a35375..a0b9b23f8843df94a6db95a990f588189ae543bc 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py
@@ -51,9 +51,10 @@ def RunSimulation():
 
 # IsGISAXS6 functional test sample builder for varying xi angle
 def buildSample(xi_value):
-    n_particle = complex(1.0-6e-4, 2e-8)
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+    
     air_layer = Layer(mAmbience)
     substrate_layer = Layer(mSubstrate)
     
@@ -74,7 +75,7 @@ def buildSample(xi_value):
     # particle
     ff_cyl = FormFactorCylinder(5.0*nanometer, 5.0*nanometer)
     position = kvector_t(0.0, 0.0, 0.0)
-    cylinder = Particle(n_particle, ff_cyl.clone())
+    cylinder = Particle(mParticle, ff_cyl.clone())
     particle_info = PositionParticleInfo( cylinder, position, 1.0)
     particle_decoration.addParticleInfo(particle_info)
     particle_decoration.addInterferenceFunction(p_interference_function)
diff --git a/Examples/python/ex009_RotatedPyramids/Pyramids.py b/Examples/python/ex009_RotatedPyramids/Pyramids.py
index 7a1bf2494405f1cb0c1f6778cc2cee7b6b0af79e..37bda6d81ee9d4da7da9b4996bae558b5f454090 100644
--- a/Examples/python/ex009_RotatedPyramids/Pyramids.py
+++ b/Examples/python/ex009_RotatedPyramids/Pyramids.py
@@ -18,10 +18,11 @@ def RunSimulation():
     # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+
     # collection of particles
-    n_particle = complex(1.0-6e-4, 2e-8)
     pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) )
-    pyramid = Particle(n_particle, pyramid_ff)
+    pyramid = Particle(mParticle, pyramid_ff)
     interference = InterferenceFunctionNone()
     particle_decoration = ParticleDecoration()
     particle_decoration.addParticle(pyramid, 0.0, 1.0)
diff --git a/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py b/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py
index 74054b5895ceb728f548289d6817a3049d583b39..565e0a3945946c18273697ecf149cde5c2a52201 100644
--- a/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py
+++ b/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py
@@ -17,10 +17,11 @@ def RunSimulation():
    # defining materials
     mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
+    mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
+    
     # collection of particles
-    n_particle = complex(1.0-6e-4, 2e-8)   
     pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) )
-    pyramid = Particle(n_particle, pyramid_ff)
+    pyramid = Particle(mParticle, pyramid_ff)
     interference = InterferenceFunctionNone()
     angle_around_z = 45.*degree
     #rotatez3d = RotateZ3D(angle_around_z)
diff --git a/Tests/UnitTests/TestCore/ParticleTest.h b/Tests/UnitTests/TestCore/ParticleTest.h
index 9b78fb93eeda0cd7056f9b354315588467af98e2..a14d3163133606227425cfa3aab0f21cc84fbd58 100644
--- a/Tests/UnitTests/TestCore/ParticleTest.h
+++ b/Tests/UnitTests/TestCore/ParticleTest.h
@@ -73,8 +73,6 @@ TEST_F(ParticleTest, ParticleConstructors)
 
     delete p3;
     delete p4;
-
-
 }
 
 
diff --git a/dev-tools/python-bindings/MakePyCore.py b/dev-tools/python-bindings/MakePyCore.py
index d6105dbf00bd0149f1eaef53a89b344cd53beecf..674544cafbbcd0cea8e0770a8ccdb096a54d048b 100644
--- a/dev-tools/python-bindings/MakePyCore.py
+++ b/dev-tools/python-bindings/MakePyCore.py
@@ -210,6 +210,8 @@ def ManualClassTunings(mb):
     # including back methods which have been excluded by our pointer policy
     for fun in cl.member_functions():
         if fun.name == "setMaterial":fun.include()
+    for fun in cl.member_functions():
+        print "XXX", fun
     cl.constructors().include() # including back constructors with pointers
     #
     cl = mb.class_("Simulation")