diff --git a/App/src/DrawHelper.cpp b/App/src/DrawHelper.cpp
index 176184889cd51f16d7cfd21fb16b753df4c27c8b..60db046937e35132a8fb671baf698480542cc65b 100644
--- a/App/src/DrawHelper.cpp
+++ b/App/src/DrawHelper.cpp
@@ -409,7 +409,7 @@ void DrawHelper::DrawMesoCrystal(const MultiLayer *sample)
 
     const LayerDecorator *layer_decor = dynamic_cast<const LayerDecorator *>(sample->getLayer(1));
     if( !layer_decor ) throw RuntimeErrorException("DrawHelper::DrawMesoCrystal() -> layer_decor panic");
-    const MesoCrystal *meso = dynamic_cast<const MesoCrystal *>(layer_decor->getDecoration()->getNanoParticleInfo(0)->getNanoParticle());
+    const MesoCrystal *meso = dynamic_cast<const MesoCrystal *>(layer_decor->getDecoration()->getParticleInfo(0)->getParticle());
     if( !meso ) throw RuntimeErrorException("DrawHelper::DrawMesoCrystal() -> meso panic");
     const NanoParticleCrystal *nano_crystal = dynamic_cast<const NanoParticleCrystal *>(meso->getClusteredNanoParticles());
     if( !nano_crystal ) throw RuntimeErrorException("DrawHelper::DrawMesoCrystal() -> nano_crystal panic");
diff --git a/App/src/StandardSamples.cpp b/App/src/StandardSamples.cpp
index ff37044be57f7a5028dae97b931fa6e7e5874346..eb2a958f2a0203671fc525a757a128f229270880 100644
--- a/App/src/StandardSamples.cpp
+++ b/App/src/StandardSamples.cpp
@@ -250,8 +250,8 @@ ISample *StandardSamples::IsGISAXS1_CylinderAndPrism()
     Layer substrate_layer;
     substrate_layer.setMaterial(p_substrate_material);
     NanoParticleDecoration particle_decoration;
-    particle_decoration.addNanoParticle(new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)),0.0, 0.5);
-    particle_decoration.addNanoParticle(new Particle(n_particle, new FormFactorPrism3(5*Units::nanometer, 5*Units::nanometer)), 0.0, 0.5);
+    particle_decoration.addParticle(new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)),0.0, 0.5);
+    particle_decoration.addParticle(new Particle(n_particle, new FormFactorPrism3(5*Units::nanometer, 5*Units::nanometer)), 0.0, 0.5);
     particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
 
@@ -281,11 +281,11 @@ ISample *StandardSamples::IsGISAXS2_CylindersMixture()
     double radius2 = 10*Units::nanometer;
     double height1 = radius1;
     double height2 = radius2;
-    FormFactorCylinder ff_cylinder1(height1, radius1);
-    Particle cylinder1(n_particle, ff_cylinder1 );
+    FormFactorCylinder *p_ff_cylinder1 = new FormFactorCylinder(height1, radius1);
+    Particle cylinder1(n_particle, p_ff_cylinder1 );
 
-    FormFactorCylinder ff_cylinder2(height2, radius2);
-    Particle cylinder2(n_particle, ff_cylinder2 );
+    FormFactorCylinder *p_ff_cylinder2 = new FormFactorCylinder(height2, radius2);
+    Particle cylinder2(n_particle, p_ff_cylinder2 );
 
     // radius of nanoparticles will be sampled with gaussian probability
     int nbins=150;
@@ -369,8 +369,8 @@ ISample *StandardSamples::IsGISAXS3_CylinderBASize()
     // preparing prototype of nano particle
     double radius = 5*Units::nanometer;
     double sigma = 0.2*radius;
-    FormFactorCylinder ff_cylinder( 5*Units::nanometer, radius);
-    Particle nano_particle(n_particle, ff_cylinder);
+    FormFactorCylinder *p_ff_cylinder = new FormFactorCylinder( 5*Units::nanometer, radius);
+    Particle nano_particle(n_particle, p_ff_cylinder);
 
     // radius of nanoparticles will be sampled with gaussian probability
     int nbins(100), nfwhm(2);
@@ -439,7 +439,7 @@ ISample *StandardSamples::IsGISAXS9_RotatedPyramid()
 
     NanoParticleDecoration particle_decoration;
 
-    particle_decoration.addNanoParticle(pyramid, transform);
+    particle_decoration.addParticle(pyramid, transform);
     particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
 
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
@@ -516,7 +516,7 @@ ISample *StandardSamples::MesoCrystal1()
     IInterferenceFunction *p_interference_funtion = new InterferenceFunction1DParaCrystal(800.0*Units::nanometer,
         50*Units::nanometer, 1e7*Units::nanometer);
     NanoParticleDecoration particle_decoration(meso.clone(), 0.0, 0.5);
-    particle_decoration.addNanoParticle(meso2.clone(), 0.0, 0.5);
+    particle_decoration.addParticle(meso2.clone(), 0.0, 0.5);
     particle_decoration.addInterferenceFunction(p_interference_funtion);
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
 
@@ -579,7 +579,7 @@ ISample *StandardSamples::MesoCrystal2()
     NanoParticleCrystal npc(basis, lat);
     MesoCrystal *meso_crystal = new MesoCrystal(npc.clone(), p_meso_form_factor->clone());
 
-    particle_decoration.addNanoParticle(meso_crystal, 0.2*Units::micrometer);
+    particle_decoration.addParticle(meso_crystal, 0.2*Units::micrometer);
 
     particle_decoration.setTotalParticleSurfaceDensity(surface_density);
     particle_decoration.addInterferenceFunction(p_interference_funtion);
diff --git a/App/src/TestMesoCrystal.cpp b/App/src/TestMesoCrystal.cpp
index 88391b66771fdd75fe51ffdc56b3994daf8f838f..e7521d382ff82848bb43408c00c65cdcf6ac9c7d 100644
--- a/App/src/TestMesoCrystal.cpp
+++ b/App/src/TestMesoCrystal.cpp
@@ -106,7 +106,7 @@ void TestMesoCrystal::initializeSample()
             Geometry::RotateZ3D transform1(phi_start + i*phi_step);
             Geometry::RotateY3D transform2(alpha_start + j*alpha_step);
             Geometry::Transform3D *p_total_transform = new Geometry::Transform3D(transform1*transform2);
-            particle_decoration.addNanoParticle(createMesoCrystal(6.1*Units::nanometer,
+            particle_decoration.addParticle(createMesoCrystal(6.1*Units::nanometer,
                     n_particle_adapted, &ff_meso), p_total_transform, 0.2*Units::micrometer);
         }
     }
diff --git a/App/src/TestRootTree.cpp b/App/src/TestRootTree.cpp
index 14f989d43102d262f55895c81cdfaa0d67273adc..e808f8d2166e694dcd72d42c28ff26df0e163acf 100644
--- a/App/src/TestRootTree.cpp
+++ b/App/src/TestRootTree.cpp
@@ -398,7 +398,7 @@ void TestRootTree::initializeMesoCrystal(double meso_alpha, double meso_phi, dou
     Geometry::RotateZ3D transform1(meso_phi);
     Geometry::RotateY3D transform2(meso_alpha);
     Geometry::Transform3D *p_total_transform = new Geometry::Transform3D(transform1*transform2);
-    particle_decoration.addNanoParticle(createMesoCrystal(R, n_particle_adapted, &ff_meso), p_total_transform, 0.2*Units::micrometer);
+    particle_decoration.addParticle(createMesoCrystal(R, n_particle_adapted, &ff_meso), p_total_transform, 0.2*Units::micrometer);
 
     particle_decoration.setTotalParticleSurfaceDensity(surface_density);
     particle_decoration.addInterferenceFunction(p_interference_funtion);
diff --git a/Core/Algorithms/inc/DiffuseDWBASimulation.h b/Core/Algorithms/inc/DiffuseDWBASimulation.h
index dedab8a417fe6cd4cca2becc1ab1b547cafbb9be..a2a6f2d0b08ded479733869257fac7246848b5e1 100644
--- a/Core/Algorithms/inc/DiffuseDWBASimulation.h
+++ b/Core/Algorithms/inc/DiffuseDWBASimulation.h
@@ -15,7 +15,7 @@
 //! @date   Sep 4, 2012
 
 #include "LayerDWBASimulation.h"
-#include "DiffuseNanoParticleInfo.h"
+#include "DiffuseParticleInfo.h"
 
 class DiffuseDWBASimulation: public LayerDWBASimulation
 {
@@ -25,7 +25,7 @@ public:
 
     virtual void run();
     size_t getSize() const { return m_np_infos.size(); }
-    void addNanoParticleInfo(DiffuseNanoParticleInfo *p_info);
+    void addNanoParticleInfo(DiffuseParticleInfo *p_info);
     void setRefractiveIndex(complex_t n) { m_refractive_index = n; }
     void setSurfaceDensity(double surface_density) { m_surface_density = surface_density; }
     void rescaleAbundances(double factor);
@@ -33,7 +33,7 @@ public:
 protected:
     complex_t m_refractive_index;
     double m_surface_density;
-    std::vector<DiffuseNanoParticleInfo *> m_np_infos;
+    std::vector<DiffuseParticleInfo *> m_np_infos;
 };
 
 #endif /* DIFFUSEDWBASIMULATION_H_ */
diff --git a/Core/Algorithms/src/DiffuseDWBASimulation.cpp b/Core/Algorithms/src/DiffuseDWBASimulation.cpp
index 6338a8d57d4a99a5015157caf5342c6c56439649..99c693054cc42a58859c49d07eb24a76b6ab77f7 100644
--- a/Core/Algorithms/src/DiffuseDWBASimulation.cpp
+++ b/Core/Algorithms/src/DiffuseDWBASimulation.cpp
@@ -23,8 +23,8 @@ void DiffuseDWBASimulation::run()
     std::vector<IFormFactor *> form_factors;
     // collect all nanoparticle formfactors and create dwba formfactors for these
     for (size_t np_index=0; np_index<number_of_nps; ++np_index) {
-        NanoParticleInfo *p_np_info = m_np_infos[np_index];
-        Particle *p_np = p_np_info->getNanoParticle()->clone();
+        ParticleInfo *p_np_info = m_np_infos[np_index];
+        Particle *p_np = p_np_info->getParticle()->clone();
         double depth = p_np_info->getDepth();
 
         p_np->setAmbientRefractiveIndex(m_refractive_index);
@@ -68,7 +68,7 @@ void DiffuseDWBASimulation::run()
     }
 }
 
-void DiffuseDWBASimulation::addNanoParticleInfo(DiffuseNanoParticleInfo *p_info)
+void DiffuseDWBASimulation::addNanoParticleInfo(DiffuseParticleInfo *p_info)
 {
     m_np_infos.push_back(p_info);
 }
diff --git a/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp b/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp
index 15354cd80e692e85db64aa849e71968ed1383f7e..f07b23824aa7b39f7509d769bba309698745b0e1 100644
--- a/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp
+++ b/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp
@@ -41,9 +41,9 @@ void LayerDecoratorDWBASimulation::run()
 //        NanoParticle *p_particle = p_decoration->getNanoParticle(particle_index)->clone();
 //        double depth = p_decoration->getDepthOfNanoParticle(particle_index);
 //        Geometry::Transform3D *transform = p_decoration->getTransformationOfNanoParticle(particle_index);
-        Particle *p_particle = p_decoration->getNanoParticleInfo(particle_index)->getNanoParticle()->clone();
-        double depth = p_decoration->getNanoParticleInfo(particle_index)->getDepth();
-        const Geometry::Transform3D *transform = p_decoration->getNanoParticleInfo(particle_index)->getTransform3D();
+        Particle *p_particle = p_decoration->getParticleInfo(particle_index)->getParticle()->clone();
+        double depth = p_decoration->getParticleInfo(particle_index)->getDepth();
+        const Geometry::Transform3D *transform = p_decoration->getParticleInfo(particle_index)->getTransform3D();
 
         p_particle->setAmbientRefractiveIndex(n_layer);
         complex_t wavevector_scattering_factor = M_PI/lambda/lambda;
diff --git a/Core/Core.pro b/Core/Core.pro
index 9d814485371718dc6b081b1fc2546f686f308dcc..6e11201c5dc739b7c7903c37f536de6efb10c483 100644
--- a/Core/Core.pro
+++ b/Core/Core.pro
@@ -47,7 +47,7 @@ SOURCES += \
     Geometry/src/Transform3D.cpp \
     Geometry/src/Vector3D.cpp \
     \
-    Samples/src/DiffuseNanoParticleInfo.cpp \
+    Samples/src/DiffuseParticleInfo.cpp \
     Samples/src/FormFactorCylinder.cpp \
     Samples/src/FormFactorFullSphere.cpp \
     Samples/src/FormFactorGauss.cpp \
@@ -75,7 +75,7 @@ SOURCES += \
     Samples/src/NanoParticleCrystal.cpp \
     Samples/src/NanoParticleCrystalFormFactor.cpp \
     Samples/src/NanoParticleDecoration.cpp \
-    Samples/src/NanoParticleInfo.cpp \
+    Samples/src/ParticleInfo.cpp \
     Samples/src/ParameterPool.cpp \
     Samples/src/WeightedFormFactor.cpp \
     \
@@ -141,7 +141,7 @@ HEADERS += \
     Geometry/inc/Transform3D.icc \
     Geometry/inc/Vector3D.h \
     \
-    Samples/inc/DiffuseNanoParticleInfo.h \
+    Samples/inc/DiffuseParticleInfo.h \
     Samples/inc/FormFactorCylinder.h \
     Samples/inc/FormFactorFullSphere.h \
     Samples/inc/FormFactorGauss.h \
@@ -176,7 +176,7 @@ HEADERS += \
     Samples/inc/NanoParticleCrystal.h \
     Samples/inc/NanoParticleCrystalFormFactor.h \
     Samples/inc/NanoParticleDecoration.h \
-    Samples/inc/NanoParticleInfo.h \
+    Samples/inc/ParticleInfo.h \
     Samples/inc/ParameterPool.h \
     Samples/inc/WeightedFormFactor.h \
     \
diff --git a/Core/PythonAPI/src/PythonInterface_classes_1.cpp b/Core/PythonAPI/src/PythonInterface_classes_1.cpp
index a4ca071187ec973e23c2ffac2a96b314e5a3af90..28cecc6d5c1385484557c76e079a6587ee68479f 100644
--- a/Core/PythonAPI/src/PythonInterface_classes_1.cpp
+++ b/Core/PythonAPI/src/PythonInterface_classes_1.cpp
@@ -635,10 +635,10 @@ void register_classes_1(){
     }
 
     { //::std::vector< DiffuseNanoParticleInfo* >
-        typedef bp::class_< std::vector< DiffuseNanoParticleInfo* > > vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer_t;
+        typedef bp::class_< std::vector< DiffuseParticleInfo* > > vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer_t;
         vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer_t vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer = vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer_t( "vector_less__DiffuseNanoParticleInfo_ptr___greater_" );
         bp::scope vector_less__DiffuseNanoParticleInfo_ptr___greater__scope( vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer );
-        vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer.def( bp::vector_indexing_suite< ::std::vector< DiffuseNanoParticleInfo* > >() );
+        vector_less__DiffuseNanoParticleInfo_ptr___greater__exposer.def( bp::vector_indexing_suite< ::std::vector< DiffuseParticleInfo* > >() );
     }
 
     bp::class_< Experiment_wrapper, boost::noncopyable >( "Experiment", bp::init< >() )    
diff --git a/Core/PythonAPI/src/PythonInterface_classes_2.cpp b/Core/PythonAPI/src/PythonInterface_classes_2.cpp
index a6caccf9f256d49607d9d64df220b2b337b8c201..7992c7d966dd685951a7f79810dee6a8006ae85f 100644
--- a/Core/PythonAPI/src/PythonInterface_classes_2.cpp
+++ b/Core/PythonAPI/src/PythonInterface_classes_2.cpp
@@ -342,7 +342,7 @@ struct IClusteredNanoParticles_wrapper : IClusteredNanoParticles, bp::wrapper< I
         return func_clone(  );
     }
 
-    virtual ::std::vector< DiffuseNanoParticleInfo* > * createDiffuseNanoParticleInfo( double depth, double weight, ::Geometry::Transform3D const & transform, double meso_volume ) const {
+    virtual ::std::vector< DiffuseParticleInfo* > * createDiffuseNanoParticleInfo( double depth, double weight, ::Geometry::Transform3D const & transform, double meso_volume ) const {
         bp::override func_createDiffuseNanoParticleInfo = this->get_override( "createDiffuseNanoParticleInfo" );
         return func_createDiffuseNanoParticleInfo( depth, weight, boost::ref(transform), meso_volume );
     }
@@ -911,7 +911,7 @@ void register_classes_2(){
             , bp::return_value_policy< bp::reference_existing_object >() )    
         .def( 
             "createDiffuseNanoParticleInfo"
-            , bp::pure_virtual( (::std::vector< DiffuseNanoParticleInfo* > * ( ::IClusteredNanoParticles::* )( double,double,::Geometry::Transform3D const &,double ) const)(&::IClusteredNanoParticles::createDiffuseNanoParticleInfo) )
+            , bp::pure_virtual( (::std::vector< DiffuseParticleInfo* > * ( ::IClusteredNanoParticles::* )( double,double,::Geometry::Transform3D const &,double ) const)(&::IClusteredNanoParticles::createDiffuseNanoParticleInfo) )
             , ( bp::arg("depth"), bp::arg("weight"), bp::arg("transform"), bp::arg("meso_volume") )
                 /* undefined call policies */ )    
         .def( 
diff --git a/Core/PythonAPI/src/PythonInterface_classes_3.cpp b/Core/PythonAPI/src/PythonInterface_classes_3.cpp
index 4235980791997b7dc466b688606991d85c37aa1a..a8048bdbfcc327f4afb67d82a4ab970afd52d1d1 100644
--- a/Core/PythonAPI/src/PythonInterface_classes_3.cpp
+++ b/Core/PythonAPI/src/PythonInterface_classes_3.cpp
@@ -852,11 +852,11 @@ void register_classes_3(){
             , ( bp::arg("interference_function") ) )    
         .def( 
             "addNanoParticle"
-            , (void ( ::NanoParticleDecoration::* )( ::Particle const &,::Geometry::Transform3D const &,double,double ) )( &::NanoParticleDecoration::addNanoParticle )
+            , (void ( ::NanoParticleDecoration::* )( ::Particle const &,::Geometry::Transform3D const &,double,double ) )( &::NanoParticleDecoration::addParticle )
             , ( bp::arg("p_particle"), bp::arg("transform"), bp::arg("depth")=0, bp::arg("abundance")=1.0e+0 ) )    
         .def( 
             "addNanoParticle"
-            , (void ( ::NanoParticleDecoration::* )( ::Particle const &,double,double ) )( &::NanoParticleDecoration::addNanoParticle )
+            , (void ( ::NanoParticleDecoration::* )( ::Particle const &,double,double ) )( &::NanoParticleDecoration::addParticle )
             , ( bp::arg("p_particle"), bp::arg("depth")=0.0, bp::arg("abundance")=1.0e+0 ) )    
         .def( 
             "setTotalParticleSurfaceDensity"
diff --git a/Core/Samples/inc/DiffuseNanoParticleInfo.h b/Core/Samples/inc/DiffuseParticleInfo.h
similarity index 76%
rename from Core/Samples/inc/DiffuseNanoParticleInfo.h
rename to Core/Samples/inc/DiffuseParticleInfo.h
index 59d6e41710b57b78e91ed8f2dc560355b7cb6e9e..8d2b1896f8e9b6be50c10bc8f781d857af922bf9 100644
--- a/Core/Samples/inc/DiffuseNanoParticleInfo.h
+++ b/Core/Samples/inc/DiffuseParticleInfo.h
@@ -1,5 +1,5 @@
-#ifndef DIFFUSENANOPARTICLEINFO_H_
-#define DIFFUSENANOPARTICLEINFO_H_
+#ifndef DIFFUSEPARTICLEINFO_H_
+#define DIFFUSEPARTICLEINFO_H_
 // ********************************************************************
 // * The BornAgain project                                            *
 // * Simulation of neutron and x-ray scattering at grazing incidence  *
@@ -9,18 +9,18 @@
 // * eget quam orci. Quisque  porta  varius  dui,  quis  posuere nibh *
 // * mollis quis. Mauris commodo rhoncus porttitor.                   *
 // ********************************************************************
-//! @file   DiffuseNanoParticleInfo.h
+//! @file   DiffuseParticleInfo.h
 //! @brief  Definition of
 //! @author Scientific Computing Group at FRM II
 //! @date   Sep 4, 2012
 
-#include "NanoParticleInfo.h"
+#include "ParticleInfo.h"
 
-class DiffuseNanoParticleInfo: public NanoParticleInfo
+class DiffuseParticleInfo: public ParticleInfo
 {
 public:
-    DiffuseNanoParticleInfo(Particle *p_particle, Geometry::Transform3D *transform=0, double depth=0, double abundance=0);
-    virtual ~DiffuseNanoParticleInfo();
+    DiffuseParticleInfo(Particle *p_particle, Geometry::Transform3D *transform=0, double depth=0, double abundance=0);
+    virtual ~DiffuseParticleInfo();
 
     //! scale abundance
     void scaleAbundance(double factor) { m_abundance *= factor; }
@@ -38,4 +38,4 @@ protected:
 
 };
 
-#endif /* DIFFUSENANOPARTICLEINFO_H_ */
+#endif /* DIFFUSEPARTICLEINFO_H_ */
diff --git a/Core/Samples/inc/IClusteredNanoParticles.h b/Core/Samples/inc/IClusteredNanoParticles.h
index 1e8c02abd2cdbeac13c39281301441ed5c9d2d45..4514f73d8286ed40cefd01795d7b54ac7772515f 100644
--- a/Core/Samples/inc/IClusteredNanoParticles.h
+++ b/Core/Samples/inc/IClusteredNanoParticles.h
@@ -16,7 +16,7 @@
 
 #include "IFormFactor.h"
 #include "ICompositeSample.h"
-#include "NanoParticleInfo.h"
+#include "ParticleInfo.h"
 #include "Transform3D.h"
 
 //- -------------------------------------------------------------------
@@ -39,7 +39,7 @@ public:
     virtual IFormFactor *createTotalFormFactor(const IFormFactor &meso_crystal_form_factor,
             complex_t ambient_refractive_index) const=0;
 
-    virtual std::vector<DiffuseNanoParticleInfo *> *createDiffuseNanoParticleInfo(double depth, double weight,
+    virtual std::vector<DiffuseParticleInfo *> *createDiffuseNanoParticleInfo(double depth, double weight,
                 const Geometry::Transform3D &transform, double meso_volume) const=0;
 };
 
diff --git a/Core/Samples/inc/MesoCrystal.h b/Core/Samples/inc/MesoCrystal.h
index 75e7ab01f1d0852a1af6ac43eb753f884621aea9..b0818fa4f3ea69bc31493333576cfa86c7b38f8f 100644
--- a/Core/Samples/inc/MesoCrystal.h
+++ b/Core/Samples/inc/MesoCrystal.h
@@ -47,7 +47,7 @@ public:
 
     const IClusteredNanoParticles *getClusteredNanoParticles() const {return mp_nano_particle_structure; }
 
-    virtual std::vector<DiffuseNanoParticleInfo *> *createDiffuseNanoParticleInfo(double depth, double weight,
+    virtual std::vector<DiffuseParticleInfo *> *createDiffuseParticleInfo(double depth, double weight,
                 const Geometry::Transform3D &transform) const;
 
 private:
diff --git a/Core/Samples/inc/NanoParticleCrystal.h b/Core/Samples/inc/NanoParticleCrystal.h
index e6662ce512bfdae460d38796f36104f0c423c6e2..98b333a9efca78e608ebbe8fbc08dd6a2ce733a3 100644
--- a/Core/Samples/inc/NanoParticleCrystal.h
+++ b/Core/Samples/inc/NanoParticleCrystal.h
@@ -49,7 +49,7 @@ public:
 
     void setDWFactor(double dw_factor) { m_dw_factor = dw_factor; }
 
-     virtual std::vector<DiffuseNanoParticleInfo *> *createDiffuseNanoParticleInfo(double depth, double weight,
+     virtual std::vector<DiffuseParticleInfo *> *createDiffuseNanoParticleInfo(double depth, double weight,
                 const Geometry::Transform3D &transform, double meso_volume) const;
 
 private:
diff --git a/Core/Samples/inc/NanoParticleDecoration.h b/Core/Samples/inc/NanoParticleDecoration.h
index 70f27b74f3ae12d1cf99b972f25c667e04e3afcf..c7acfeaacb061fb635812e8d00d746f97997dfdb 100644
--- a/Core/Samples/inc/NanoParticleDecoration.h
+++ b/Core/Samples/inc/NanoParticleDecoration.h
@@ -16,7 +16,7 @@
 
 #include "IDecoration.h"
 #include "Particle.h"
-#include "NanoParticleInfo.h"
+#include "ParticleInfo.h"
 #include "IInterferenceFunction.h"
 #include "IInterferenceFunctionStrategy.h"
 #include "Transform3D.h"
@@ -37,24 +37,24 @@ public:
 
 
     /// add nano particle giving depth and transformation
-    void addNanoParticle(Particle *p_particle, Geometry::Transform3D *transform=0, double depth=0, double abundance=1.0);
-    void addNanoParticle(const Particle &p_particle, const Geometry::Transform3D &transform, double depth=0, double abundance=1.0);
+    void addParticle(Particle *p_particle, Geometry::Transform3D *transform=0, double depth=0, double abundance=1.0);
+    void addParticle(const Particle &p_particle, const Geometry::Transform3D &transform, double depth=0, double abundance=1.0);
 
     /// add nano particle giving depth
-    void addNanoParticle(const Particle &p_particle, double depth=0.0, double abundance=1.0);
-    void addNanoParticle(Particle *p_particle, double depth=0.0, double abundance=1.0);
+    void addParticle(const Particle &p_particle, double depth=0.0, double abundance=1.0);
+    void addParticle(Particle *p_particle, double depth=0.0, double abundance=1.0);
 
     /// Add nano particle info
-    void addNanoParticleInfo(const NanoParticleInfo &p_info);
+    void addParticleInfo(const ParticleInfo &p_info);
 
 	/// Get number of particles
 	size_t getNumberOfParticles() const { return m_particles.size(); }
 
     /// get information about nano particle with index
-    const NanoParticleInfo *getNanoParticleInfo(size_t index) const;
+    const ParticleInfo *getParticleInfo(size_t index) const;
 
     /// Get abundance fraction of particle with index
-    double getAbundanceFractionOfNanoParticle(size_t index) const;
+    double getAbundanceFractionOfParticle(size_t index) const;
 
 
     /// Add interference function
@@ -80,7 +80,7 @@ private:
     NanoParticleDecoration &operator=(const NanoParticleDecoration &);
 
     //! adding nano particle information with simultaneous registration in parent class
-    void addAndRegisterNanoParticleInfo(NanoParticleInfo *child)
+    void addAndRegisterParticleInfo(ParticleInfo *child)
     {
         m_total_abundance += child->getAbundance();
         m_particles.push_back(child);
@@ -94,7 +94,7 @@ private:
         registerChild(child);
     }
 
-    std::vector<NanoParticleInfo *> m_particles;
+    std::vector<ParticleInfo *> m_particles;
     ///< Vector of the types of nano particles
     std::vector<IInterferenceFunction *> m_interference_functions;
     ///< Currently only a scalar interference function (instead of matrix)
diff --git a/Core/Samples/inc/Particle.h b/Core/Samples/inc/Particle.h
index 08adddc1b9649a60ed5bd1a899afb55fa47b28d5..2c8b6ec5d17f09886e13dc3a44bb56dce72ad88d 100644
--- a/Core/Samples/inc/Particle.h
+++ b/Core/Samples/inc/Particle.h
@@ -1,5 +1,5 @@
-#ifndef NANOPARTICLE_H
-#define NANOPARTICLE_H
+#ifndef PARTICLE_H
+#define PARTICLE_H
 // ********************************************************************
 // * The BornAgain project                                            *
 // * Simulation of neutron and x-ray scattering at grazing incidence  *
@@ -18,24 +18,19 @@
 #include "IFormFactor.h"
 #include "FormFactorDecoratorRefractiveIndex.h"
 
-class DiffuseNanoParticleInfo;
+class DiffuseParticleInfo;
 //- -------------------------------------------------------------------
-//! @class NanoParticle
-//! @brief Definition of a nanoparticle with a form factor
+//! @class Particle
+//! @brief Definition of a particle with a form factor and refractive index
 //- -------------------------------------------------------------------
 class Particle : public ICompositeSample
 {
 public:
     Particle(complex_t refractive_index, IFormFactor* p_form_factor = 0);
-    Particle(complex_t refractive_index, const IFormFactor &p_form_factor);
     virtual ~Particle();
     virtual Particle *clone() const;
 
-//    virtual complex_t getRefractiveIndex() const
-//    {
-//        return m_refractive_index;
-//    }
-
+    //! Set the refractive index of the ambient material (which influences its scattering power)
     virtual void setAmbientRefractiveIndex(complex_t refractive_index)
     {
         m_ambient_refractive_index = refractive_index;
@@ -49,6 +44,7 @@ public:
         return p_ff;
     }
 
+    //! set the from factor of the particle
     virtual void setFormFactor(IFormFactor* p_form_factor)
     {
         if (p_form_factor != mp_form_factor) {
@@ -60,8 +56,8 @@ public:
     //! return form factor of the particle
     const IFormFactor *getFormFactor() const { return mp_form_factor;}
 
-    //! create list of contained nanoparticles for diffuse calculations
-    virtual std::vector<DiffuseNanoParticleInfo *> *createDiffuseNanoParticleInfo(double depth, double weight,
+    //! create list of contained particles for diffuse calculations
+    virtual std::vector<DiffuseParticleInfo *> *createDiffuseParticleInfo(double depth, double weight,
             const Geometry::Transform3D &transform) const {
         (void)depth;
         (void)weight;
@@ -71,15 +67,15 @@ public:
 
 protected:
     complex_t m_ambient_refractive_index;
+    complex_t m_refractive_index;
+    IFormFactor* mp_form_factor;
+    ///< pointer to the form factor
 
 private:
     //! copy constructor and assignment operator are hidden since there is a clone method
     Particle(const Particle &);
     Particle &operator=(const Particle &);
 
-    complex_t m_refractive_index;
-    IFormFactor* mp_form_factor;
-    ///< pointer to the form factor
 };
 
-#endif // NANOPARTICLE_H
+#endif // PARTICLE_H
diff --git a/Core/Samples/inc/NanoParticleInfo.h b/Core/Samples/inc/ParticleInfo.h
similarity index 57%
rename from Core/Samples/inc/NanoParticleInfo.h
rename to Core/Samples/inc/ParticleInfo.h
index a34420c64de06ed37f115b9d7ecc905e59523469..8e17e3714f27e17157f94653736f074655ef47fb 100644
--- a/Core/Samples/inc/NanoParticleInfo.h
+++ b/Core/Samples/inc/ParticleInfo.h
@@ -1,5 +1,5 @@
-#ifndef NANOPARTICLEINFO_H
-#define NANOPARTICLEINFO_H
+#ifndef PARTICLEINFO_H
+#define PARTICLEINFO_H
 // ********************************************************************
 // * The BornAgain project                                            *
 // * Simulation of neutron and x-ray scattering at grazing incidence  *
@@ -9,7 +9,7 @@
 // * eget quam orci. Quisque  porta  varius  dui,  quis  posuere nibh *
 // * mollis quis. Mauris commodo rhoncus porttitor.                   *
 // ********************************************************************
-//! @file   NanoParticleInfo.h
+//! @file   ParticleInfo.h
 //! @brief  Definition of Layer class
 //! @author Scientific Computing Group at FRM II
 //! @date   18.07.2012
@@ -19,39 +19,35 @@
 #include "Transform3D.h"
 
 //- -------------------------------------------------------------------
-//! @class NanoParticleInfo
-//! @brief holds additional information about nanoparticle (used in NanoParticleDecoration)
+//! @class ParticleInfo
+//! @brief holds additional information about particle (used in NanoParticleDecoration)
 //- -------------------------------------------------------------------
-class NanoParticleInfo : public ICompositeSample
+class ParticleInfo : public ICompositeSample
 {
 public:
-    //! default constructor
-    //NanoParticleInfo();
-    //! constructor for nano particle having depth and abundance
-    //NanoParticleInfo(NanoParticle *p_particle, double depth, double abundance);
-    //! constructor for nano particle having transformation property and abundance
-    NanoParticleInfo(Particle *p_particle, Geometry::Transform3D *transform=0, double depth=0, double abundance=0);
+    //! constructor for particle info having transformation property and abundance
+    ParticleInfo(Particle *p_particle, Geometry::Transform3D *transform=0, double depth=0, double abundance=0);
 
-    virtual ~NanoParticleInfo();
+    virtual ~ParticleInfo();
 
-    //! clone nano particle info
-    virtual NanoParticleInfo *clone() const;
+    //! clone particle info
+    virtual ParticleInfo *clone() const;
 
-    //! return nano particle
-    const Particle *getNanoParticle() const { return mp_particle; }
+    //! return particle
+    const Particle *getParticle() const { return mp_particle; }
 
-    //! return nano particle transformation
+    //! return particle transformation
     const Geometry::Transform3D *getTransform3D() const { return m_transform; }
 
-    //! return nano particle depth
+    //! return particle depth
     double getDepth() const { return m_depth;}
 
-    //! return nano particle abundance
+    //! return particle abundance
     double getAbundance() const { return m_abundance; }
 
 protected:
-    NanoParticleInfo &operator=(const NanoParticleInfo &right);
-    NanoParticleInfo(const NanoParticleInfo &source);
+    ParticleInfo &operator=(const ParticleInfo &right);
+    ParticleInfo(const ParticleInfo &source);
 
     //! initialize pool parameters, i.e. register some of class members for later access via parameter pool
     virtual void init_parameters();
@@ -63,4 +59,4 @@ protected:
 };
 
 
-#endif // NANOPARTICLEINFO_H
+#endif // PARTICLEINFO_H
diff --git a/Core/Samples/src/DiffuseNanoParticleInfo.cpp b/Core/Samples/src/DiffuseNanoParticleInfo.cpp
deleted file mode 100644
index ad363eab596a643e6dfa9f7c47451c3eb30c2654..0000000000000000000000000000000000000000
--- a/Core/Samples/src/DiffuseNanoParticleInfo.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "DiffuseNanoParticleInfo.h"
-
-DiffuseNanoParticleInfo::DiffuseNanoParticleInfo(Particle* p_particle, Geometry::Transform3D *transform, double depth, double abundance)
-: NanoParticleInfo(p_particle, transform, depth, abundance)
-, m_number_per_meso(0.0)
-{
-}
-
-DiffuseNanoParticleInfo::~DiffuseNanoParticleInfo()
-{
-}
-
diff --git a/Core/Samples/src/DiffuseParticleInfo.cpp b/Core/Samples/src/DiffuseParticleInfo.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..23eaecef821361e65e6ee1d018b0347c72802c6b
--- /dev/null
+++ b/Core/Samples/src/DiffuseParticleInfo.cpp
@@ -0,0 +1,12 @@
+#include "DiffuseParticleInfo.h"
+
+DiffuseParticleInfo::DiffuseParticleInfo(Particle* p_particle, Geometry::Transform3D *transform, double depth, double abundance)
+: ParticleInfo(p_particle, transform, depth, abundance)
+, m_number_per_meso(0.0)
+{
+}
+
+DiffuseParticleInfo::~DiffuseParticleInfo()
+{
+}
+
diff --git a/Core/Samples/src/LayerDecorator.cpp b/Core/Samples/src/LayerDecorator.cpp
index 94917236c99b77c78e5480ab4d8d16ecb93651fa..5ebef72d89a63b04b086f3dd3de89b3c7be5249f 100644
--- a/Core/Samples/src/LayerDecorator.cpp
+++ b/Core/Samples/src/LayerDecorator.cpp
@@ -54,9 +54,9 @@ DiffuseDWBASimulation* LayerDecorator::createDiffuseDWBASimulation() const
     double nps_per_meso = 0.0;
     double total_abundance = 0.0;
     for (size_t i=0; i<nbr_particles; ++i) {
-        const NanoParticleInfo *p_info = mp_decoration->getNanoParticleInfo(i);
-        std::vector<DiffuseNanoParticleInfo *> *p_diffuse_nps =
-                p_info->getNanoParticle()->createDiffuseNanoParticleInfo(p_info->getDepth(),
+        const ParticleInfo *p_info = mp_decoration->getParticleInfo(i);
+        std::vector<DiffuseParticleInfo *> *p_diffuse_nps =
+                p_info->getParticle()->createDiffuseParticleInfo(p_info->getDepth(),
                          p_info->getAbundance(), *(p_info->getTransform3D()));
         if (p_diffuse_nps) {
             for (size_t j=0; j<p_diffuse_nps->size(); ++j) {
diff --git a/Core/Samples/src/MesoCrystal.cpp b/Core/Samples/src/MesoCrystal.cpp
index 4783dfdc3e69a3a9df7b1f1dbfc8777bb2328185..46c2e17d42a645bc32aa333412f8f442b9c30b88 100644
--- a/Core/Samples/src/MesoCrystal.cpp
+++ b/Core/Samples/src/MesoCrystal.cpp
@@ -34,7 +34,7 @@ MesoCrystal* MesoCrystal::clone() const
     return new MesoCrystal(mp_nano_particle_structure->clone(), mp_meso_form_factor->clone());
 }
 
-std::vector<DiffuseNanoParticleInfo*>* MesoCrystal::createDiffuseNanoParticleInfo(
+std::vector<DiffuseParticleInfo*>* MesoCrystal::createDiffuseParticleInfo(
         double depth, double weight,
         const Geometry::Transform3D& transform) const
 {
diff --git a/Core/Samples/src/NanoParticleBuilder.cpp b/Core/Samples/src/NanoParticleBuilder.cpp
index bfd53e8d49ff46e3f58ba0ee250f6fd6778f942e..d8d7a1d48d7ffc766d61775a19a28bbf94240228 100644
--- a/Core/Samples/src/NanoParticleBuilder.cpp
+++ b/Core/Samples/src/NanoParticleBuilder.cpp
@@ -66,7 +66,7 @@ void NanoParticleBuilder::plantNanoParticles(NanoParticleDecoration &decor)
         Particle *particle = m_prototype->clone();
 
         if(weight/maximum_value > Numeric::probthreshold)  { // isgisaxs way
-            decor.addNanoParticle(*particle, 0.0, weight/sum_of_weights*m_scale);
+            decor.addParticle(*particle, 0.0, weight/sum_of_weights*m_scale);
         }
 
         delete particle;
diff --git a/Core/Samples/src/NanoParticleCrystal.cpp b/Core/Samples/src/NanoParticleCrystal.cpp
index ebd1251ff1e92d804e3760dfd767d1ede996fac8..3b4482960780be1c69fb12c6325a8b2f22dd279e 100644
--- a/Core/Samples/src/NanoParticleCrystal.cpp
+++ b/Core/Samples/src/NanoParticleCrystal.cpp
@@ -4,7 +4,7 @@
 #include "Units.h"
 #include "MathFunctions.h"
 #include "FormFactorFullSphere.h"
-#include "DiffuseNanoParticleInfo.h"
+#include "DiffuseParticleInfo.h"
 
 NanoParticleCrystal::NanoParticleCrystal(const LatticeBasis& lattice_basis,
         const Lattice& lattice)
@@ -39,7 +39,7 @@ IFormFactor* NanoParticleCrystal::createTotalFormFactor(
     return p_npcrystal;
 }
 
-std::vector<DiffuseNanoParticleInfo*>* NanoParticleCrystal::createDiffuseNanoParticleInfo(
+std::vector<DiffuseParticleInfo*>* NanoParticleCrystal::createDiffuseNanoParticleInfo(
         double depth, double weight,
         const Geometry::Transform3D& transform, double meso_volume) const
 {
@@ -52,7 +52,7 @@ std::vector<DiffuseNanoParticleInfo*>* NanoParticleCrystal::createDiffuseNanoPar
     double sigma = 2.0*Units::nanometer;
     size_t nbr_radii = 25;
     complex_t n_particle(0.999966, 5.62664e-7);
-    std::vector<DiffuseNanoParticleInfo *> *p_infos = new std::vector<DiffuseNanoParticleInfo *>();
+    std::vector<DiffuseParticleInfo *> *p_infos = new std::vector<DiffuseParticleInfo *>();
     double total_prob = 0.0;
     for (size_t i=0; i<nbr_radii; ++i) {
         double radius = (mean_radius-1.5*sigma) + 3.0*sigma/(nbr_radii-1);
@@ -69,9 +69,9 @@ std::vector<DiffuseNanoParticleInfo*>* NanoParticleCrystal::createDiffuseNanoPar
         }
         double particle_weight = weight*MathFunctions::Gaussian(radius, mean_radius, sigma)/total_prob;
         Particle particle(n_particle, new FormFactorFullSphere(radius));
-        DiffuseNanoParticleInfo *p_new_np_info;
+        DiffuseParticleInfo *p_new_np_info;
         if (nbr_heights<2) {
-            p_new_np_info = new DiffuseNanoParticleInfo(particle.clone(),
+            p_new_np_info = new DiffuseParticleInfo(particle.clone(),
                     new Geometry::Transform3D(transform), 5.0*Units::nanometer, particle_weight);
             p_new_np_info->setNumberPerMeso(np_density*particle_weight);
             p_infos->push_back(p_new_np_info);
@@ -79,7 +79,7 @@ std::vector<DiffuseNanoParticleInfo*>* NanoParticleCrystal::createDiffuseNanoPar
         else {
             for (size_t j=0; j<nbr_heights; ++j) {
                 double particle_depth = depth - j*height/(nbr_heights-1);
-                p_new_np_info = new DiffuseNanoParticleInfo(particle.clone(),
+                p_new_np_info = new DiffuseParticleInfo(particle.clone(),
                                     new Geometry::Transform3D(transform), particle_depth, particle_weight);
                 p_new_np_info->setNumberPerMeso(np_density*particle_weight);
                 p_infos->push_back(p_new_np_info);
diff --git a/Core/Samples/src/NanoParticleDecoration.cpp b/Core/Samples/src/NanoParticleDecoration.cpp
index 729ae95a386a16e46370c5ad459d7822fe2a0fcb..c1feac0d3d27160872ac574f45979613e1ec848a 100644
--- a/Core/Samples/src/NanoParticleDecoration.cpp
+++ b/Core/Samples/src/NanoParticleDecoration.cpp
@@ -16,7 +16,7 @@ NanoParticleDecoration::NanoParticleDecoration(Particle* p_particle, double dept
 , m_total_particle_surface_density(1.0)
 {
     setName("NanoParticleDecoration");
-    addNanoParticle(p_particle, 0, depth, abundance);
+    addParticle(p_particle, 0, depth, abundance);
 }
 
 NanoParticleDecoration::~NanoParticleDecoration()
@@ -37,7 +37,7 @@ NanoParticleDecoration* NanoParticleDecoration::clone() const
     p_new->setName(getName());
 
     for (size_t i=0; i<m_particles.size(); ++i) {
-        p_new->addAndRegisterNanoParticleInfo(m_particles[i]->clone());
+        p_new->addAndRegisterParticleInfo(m_particles[i]->clone());
     }
 
     for (size_t i=0; i<m_interference_functions.size(); ++i) {
@@ -54,43 +54,43 @@ NanoParticleDecoration* NanoParticleDecoration::clone() const
 /* ************************************************************************* */
 // add nano particle
 /* ************************************************************************* */
-void NanoParticleDecoration::addNanoParticle(Particle* p_particle,
+void NanoParticleDecoration::addParticle(Particle* p_particle,
         double depth, double abundance)
 {
-    addNanoParticle(p_particle, 0, depth, abundance);
+    addParticle(p_particle, 0, depth, abundance);
 }
 
-void NanoParticleDecoration::addNanoParticle(const Particle &p_particle,
+void NanoParticleDecoration::addParticle(const Particle &p_particle,
         double depth, double abundance)
 {
-    addNanoParticle(p_particle.clone(), 0, depth, abundance);
+    addParticle(p_particle.clone(), 0, depth, abundance);
 }
 
-void NanoParticleDecoration::addNanoParticle(const Particle &p_particle,
+void NanoParticleDecoration::addParticle(const Particle &p_particle,
         const Geometry::Transform3D &transform, double depth, double abundance)
 {
-    addNanoParticle(p_particle.clone(), new Geometry::Transform3D(transform), depth, abundance);
+    addParticle(p_particle.clone(), new Geometry::Transform3D(transform), depth, abundance);
 }
 
 // main function to add nano particle
-void NanoParticleDecoration::addNanoParticle(Particle* p_particle,
+void NanoParticleDecoration::addParticle(Particle* p_particle,
         Geometry::Transform3D *transform, double depth, double abundance)
 {
-    addAndRegisterNanoParticleInfo( new NanoParticleInfo(p_particle, transform, depth, abundance) );
+    addAndRegisterParticleInfo( new ParticleInfo(p_particle, transform, depth, abundance) );
 }
 
 /* ************************************************************************* */
 // add nano particle info
 /* ************************************************************************* */
-void NanoParticleDecoration::addNanoParticleInfo(const NanoParticleInfo &info)
+void NanoParticleDecoration::addParticleInfo(const ParticleInfo &info)
 {
-    addAndRegisterNanoParticleInfo( info.clone() );
+    addAndRegisterParticleInfo( info.clone() );
 }
 
 /* ************************************************************************* */
 // get nano particle info
 /* ************************************************************************* */
-const NanoParticleInfo* NanoParticleDecoration::getNanoParticleInfo(size_t index) const
+const ParticleInfo* NanoParticleDecoration::getParticleInfo(size_t index) const
 {
     if (index<m_particles.size()) {
         return m_particles[index];
@@ -98,9 +98,9 @@ const NanoParticleInfo* NanoParticleDecoration::getNanoParticleInfo(size_t index
     throw OutOfBoundsException("Not so many interference functions in this decoration.");
 }
 
-double NanoParticleDecoration::getAbundanceFractionOfNanoParticle(size_t index) const
+double NanoParticleDecoration::getAbundanceFractionOfParticle(size_t index) const
 {
-    return getNanoParticleInfo(index)->getAbundance()/m_total_abundance;
+    return getParticleInfo(index)->getAbundance()/m_total_abundance;
 }
 
 
@@ -134,7 +134,7 @@ IInterferenceFunctionStrategy* NanoParticleDecoration::createStrategy(
 {
     std::vector<double> fractions;
     for (size_t i=0; i<m_particles.size(); ++i) {
-        fractions.push_back(getAbundanceFractionOfNanoParticle(i));
+        fractions.push_back(getAbundanceFractionOfParticle(i));
     }
     IInterferenceFunctionStrategy *p_strategy;
     size_t n_particles = m_particles.size();
diff --git a/Core/Samples/src/Particle.cpp b/Core/Samples/src/Particle.cpp
index 182e64e46763d12c42b2ff775a279c1183e6eae0..1b0a283b1ee005e7fe9eae2b839a3d4d47a012ab 100644
--- a/Core/Samples/src/Particle.cpp
+++ b/Core/Samples/src/Particle.cpp
@@ -9,17 +9,6 @@ Particle::Particle(complex_t refractive_index, IFormFactor *p_form_factor)
     if(mp_form_factor) registerChild(mp_form_factor);
 }
 
-Particle::Particle(complex_t refractive_index, const IFormFactor &p_form_factor)
-: m_ambient_refractive_index(complex_t(1.0, 0.0))
-, m_refractive_index(refractive_index)
-, mp_form_factor(0)
-{
-    setName("NanoParticle");
-    mp_form_factor = p_form_factor.clone();
-    registerChild(mp_form_factor);
-}
-
-
 Particle::~Particle()
 {
     delete mp_form_factor;
diff --git a/Core/Samples/src/NanoParticleInfo.cpp b/Core/Samples/src/ParticleInfo.cpp
similarity index 84%
rename from Core/Samples/src/NanoParticleInfo.cpp
rename to Core/Samples/src/ParticleInfo.cpp
index 23c2068f812fd1aec4d16ea301b78157dcda9f4f..c04b27dc5593d9da9f40bb22667c75722a65b0c1 100644
--- a/Core/Samples/src/NanoParticleInfo.cpp
+++ b/Core/Samples/src/ParticleInfo.cpp
@@ -1,4 +1,4 @@
-#include "NanoParticleInfo.h"
+#include "ParticleInfo.h"
 
 
 
@@ -20,7 +20,7 @@
 //}
 
 
-NanoParticleInfo::NanoParticleInfo(Particle* p_particle, Geometry::Transform3D *transform, double depth, double abundance)
+ParticleInfo::ParticleInfo(Particle* p_particle, Geometry::Transform3D *transform, double depth, double abundance)
 : mp_particle(p_particle)
 , m_transform(transform)
 , m_depth(depth)
@@ -49,7 +49,7 @@ NanoParticleInfo::NanoParticleInfo(Particle* p_particle, Geometry::Transform3D *
 //}
 
 
-NanoParticleInfo::~NanoParticleInfo()
+ParticleInfo::~ParticleInfo()
 {
     delete mp_particle;
     delete m_transform;
@@ -57,7 +57,7 @@ NanoParticleInfo::~NanoParticleInfo()
 
 
 // initialize pool parameters, i.e. register some of class members for later access via parameter pool
-void NanoParticleInfo::init_parameters()
+void ParticleInfo::init_parameters()
 {
     getParameterPool()->clear();
     getParameterPool()->registerParameter("depth", &m_depth);
@@ -67,11 +67,11 @@ void NanoParticleInfo::init_parameters()
 /* ************************************************************************* */
 // clone method
 /* ************************************************************************* */
-NanoParticleInfo *NanoParticleInfo::clone() const
+ParticleInfo *ParticleInfo::clone() const
 {
     Geometry::Transform3D *transform(0);
     if(m_transform) transform = new Geometry::Transform3D(*m_transform);
-    return new NanoParticleInfo(mp_particle->clone(), transform, m_depth, m_abundance);
+    return new ParticleInfo(mp_particle->clone(), transform, m_depth, m_abundance);
 }