diff --git a/Core/Assembly/ParticleLayout.h b/Core/Assembly/ParticleLayout.h
index 1248a51e7ec861f605fee0b84c577ac4e98e65ea..9c0f19e84f3ff01f678053201881858a265013e7 100644
--- a/Core/Assembly/ParticleLayout.h
+++ b/Core/Assembly/ParticleLayout.h
@@ -16,8 +16,9 @@
 #ifndef PARTICLELAYOUT_H
 #define PARTICLELAYOUT_H
 
-#include "Particle.h"
 #include "ILayout.h"
+#include "Vectors3D.h"
+#include <memory>
 
 //! @class ParticleLayout
 //! @ingroup samples
diff --git a/Core/Multilayer/Layer.cpp b/Core/Multilayer/Layer.cpp
index 6c651c2581b74bb84a93d2de41383d6ec489bc2f..b1f89074bf497fa7153a05b82c6309304b3ae717 100644
--- a/Core/Multilayer/Layer.cpp
+++ b/Core/Multilayer/Layer.cpp
@@ -14,6 +14,7 @@
 // ************************************************************************** //
 
 #include "Layer.h"
+#include "BornAgainNamespace.h"
 #include "DecoratedLayerDWBASimulation.h"
 #include "IInterferenceFunction.h"
 #include "ISampleVisitor.h"
diff --git a/Core/StandardSamples/BoxCompositionBuilder.cpp b/Core/StandardSamples/BoxCompositionBuilder.cpp
index bb0b2b269cc144afb09aecce8abd60be3984b2ed..2f8544132203eb56208eb9d68c8007374949ef71 100644
--- a/Core/StandardSamples/BoxCompositionBuilder.cpp
+++ b/Core/StandardSamples/BoxCompositionBuilder.cpp
@@ -14,8 +14,10 @@
 // ************************************************************************** //
 
 #include "BoxCompositionBuilder.h"
+#include "HomogeneousMaterial.h"
 #include "FormFactorBox.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleComposition.h"
 #include "ParticleLayout.h"
 
diff --git a/Core/StandardSamples/CoreShellParticleBuilder.cpp b/Core/StandardSamples/CoreShellParticleBuilder.cpp
index f512dfc3167c8c4ef292bb9b958591efce31fb6c..e707efdafcb5b91acf06ca09c72754baaa46e206 100644
--- a/Core/StandardSamples/CoreShellParticleBuilder.cpp
+++ b/Core/StandardSamples/CoreShellParticleBuilder.cpp
@@ -17,6 +17,7 @@
 #include "FormFactorBox.h"
 #include "Materials.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleCoreShell.h"
 #include "ParticleLayout.h"
 
diff --git a/Core/StandardSamples/CustomMorphologyBuilder.cpp b/Core/StandardSamples/CustomMorphologyBuilder.cpp
index 3e60ca50f1016369831381fad71110fb7134d0f2..52256d2ac63fcaf980178c7a8da7b41aa4787bf5 100644
--- a/Core/StandardSamples/CustomMorphologyBuilder.cpp
+++ b/Core/StandardSamples/CustomMorphologyBuilder.cpp
@@ -17,6 +17,7 @@
 #include "FormFactorBox.h"
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 ISample* CustomMorphologyBuilder::buildSample() const
diff --git a/Core/StandardSamples/CylindersAndPrismsBuilder.cpp b/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
index 9fcc8562d94a9583b9d766c6ca4080b476324b00..2ce18eababda582c197039bfb1eed612fee6b3a5 100644
--- a/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
+++ b/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
@@ -18,6 +18,7 @@
 #include "FormFactorPrism3.h"
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 CylindersAndPrismsBuilder::CylindersAndPrismsBuilder()
diff --git a/Core/StandardSamples/CylindersBuilder.cpp b/Core/StandardSamples/CylindersBuilder.cpp
index 738ad386543e1746bf09129a5412de38d593dc54..d2e6ebcd796e237aa826b676bbf6da8697c49212 100644
--- a/Core/StandardSamples/CylindersBuilder.cpp
+++ b/Core/StandardSamples/CylindersBuilder.cpp
@@ -18,6 +18,7 @@
 #include "FormFactorCylinder.h"
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 // -----------------------------------------------------------------------------
diff --git a/Core/StandardSamples/LatticeBuilder.cpp b/Core/StandardSamples/LatticeBuilder.cpp
index 5e50ec2df2105de596f090ce43e45942e833d229..870ab0dc51a20fb9818f2c3d20f1a0e52641e58a 100644
--- a/Core/StandardSamples/LatticeBuilder.cpp
+++ b/Core/StandardSamples/LatticeBuilder.cpp
@@ -18,6 +18,7 @@
 #include "InterferenceFunction1DLattice.h"
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 Lattice1DBuilder::Lattice1DBuilder()
diff --git a/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp b/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
index 560864bead619c587a2a2180a5642c18d7df970b..4642ae7b6d82be9bb492c25d1cced419c2454af9 100644
--- a/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
+++ b/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
@@ -15,6 +15,7 @@
 
 #include "LayersWithAbsorptionBuilder.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 ISample* LayersWithAbsorptionBuilder::buildSample() const
diff --git a/Core/StandardSamples/MagneticParticlesBuilder.cpp b/Core/StandardSamples/MagneticParticlesBuilder.cpp
index c718a6103ea107e0037686597e7aa0e920e8209d..530543d388b912cf0be0f324578da807306ec11c 100644
--- a/Core/StandardSamples/MagneticParticlesBuilder.cpp
+++ b/Core/StandardSamples/MagneticParticlesBuilder.cpp
@@ -17,6 +17,7 @@
 #include "FormFactorCylinder.h"
 #include "Materials.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 // ----------------------------------------------------------------------------
diff --git a/Core/StandardSamples/MultipleLayoutBuilder.cpp b/Core/StandardSamples/MultipleLayoutBuilder.cpp
index 1dfd953cf8e5e63e09cd8383dd6e41abac220004..a56a810907f3cf137badc26c45955bb7d99ae784 100644
--- a/Core/StandardSamples/MultipleLayoutBuilder.cpp
+++ b/Core/StandardSamples/MultipleLayoutBuilder.cpp
@@ -18,6 +18,7 @@
 #include "FormFactorPrism3.h"
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 MultipleLayoutBuilder::MultipleLayoutBuilder()
diff --git a/Core/StandardSamples/ParaCrystalBuilder.cpp b/Core/StandardSamples/ParaCrystalBuilder.cpp
index 05a1789ee629215a7e0c0f5fb2117301e7b983a2..a888f741d365f32097cb1d4f11a7e314ac646c64 100644
--- a/Core/StandardSamples/ParaCrystalBuilder.cpp
+++ b/Core/StandardSamples/ParaCrystalBuilder.cpp
@@ -19,6 +19,7 @@
 #include "InterferenceFunction2DParaCrystal.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 RadialParaCrystalBuilder::RadialParaCrystalBuilder()
diff --git a/Core/StandardSamples/ParticleCompositionBuilder.cpp b/Core/StandardSamples/ParticleCompositionBuilder.cpp
index b72f6ed712ad03eea8fd1c2322a6b8b29a949d6d..7194fff5c2737562ccfba54f65cd025c356ee57d 100644
--- a/Core/StandardSamples/ParticleCompositionBuilder.cpp
+++ b/Core/StandardSamples/ParticleCompositionBuilder.cpp
@@ -17,6 +17,7 @@
 #include "HomogeneousMaterial.h"
 #include "InterferenceFunction2DLattice.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleComposition.h"
 #include "ParticleCompositionBuilder.h"
 #include "ParticleLayout.h"
diff --git a/Core/StandardSamples/ParticleDistributionsBuilder.cpp b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
index 424807275868924f6bd2f990ec1c67dc3d44bc11..5f798de709271e0bf667e1b16f66c053636a74de 100644
--- a/Core/StandardSamples/ParticleDistributionsBuilder.cpp
+++ b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
@@ -17,6 +17,7 @@
 #include "FormFactorCylinder.h"
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleDistribution.h"
 #include "ParticleDistributionsBuilder.h"
 #include "ParticleLayout.h"
diff --git a/Core/StandardSamples/ParticleInTheAirBuilder.cpp b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
index 08f4b294ed99def98d618704e9c8984ad97f404b..4eae9da5bbac08f7055076ab30982e932798fbf1 100644
--- a/Core/StandardSamples/ParticleInTheAirBuilder.cpp
+++ b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
@@ -16,6 +16,7 @@
 #include "ParticleInTheAirBuilder.h"
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 ISample* ParticleInTheAirBuilder::buildSample() const
diff --git a/Core/StandardSamples/RipplesBuilder.cpp b/Core/StandardSamples/RipplesBuilder.cpp
index 7e270ee320aee3b693298fb46d29939c7cf55dcf..923d69a4f59196f861c57d34ccfe83d2bff5c2ed 100644
--- a/Core/StandardSamples/RipplesBuilder.cpp
+++ b/Core/StandardSamples/RipplesBuilder.cpp
@@ -19,6 +19,7 @@
 #include "HomogeneousMaterial.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 CosineRippleBuilder::CosineRippleBuilder()
diff --git a/Core/StandardSamples/RotatedPyramidsBuilder.cpp b/Core/StandardSamples/RotatedPyramidsBuilder.cpp
index 9c17fb14ef5cc1d7b7f4c07276a0feef32723bf7..4d807706b49ce5e9da0b22017a407bf8d491a54a 100644
--- a/Core/StandardSamples/RotatedPyramidsBuilder.cpp
+++ b/Core/StandardSamples/RotatedPyramidsBuilder.cpp
@@ -17,6 +17,7 @@
 #include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
 #include "RotatedPyramidsBuilder.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 RotatedPyramidsBuilder::RotatedPyramidsBuilder()
diff --git a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
index 39e3985ec26d0156f82fc5308b453a94b02527c9..8ec94ea6d390589a60a4c6ce965b285e90b02904 100644
--- a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
+++ b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
@@ -19,6 +19,7 @@
 #include "HomogeneousMaterial.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleDistribution.h"
 #include "ParticleLayout.h"
 
diff --git a/Core/StandardSamples/TransformationsBuilder.cpp b/Core/StandardSamples/TransformationsBuilder.cpp
index 845e008cb3df98d9e165cf29ea5df08b71b27e05..52c4aae8b14bd9b27c2884b7d612831dd544ef8f 100644
--- a/Core/StandardSamples/TransformationsBuilder.cpp
+++ b/Core/StandardSamples/TransformationsBuilder.cpp
@@ -15,7 +15,9 @@
 
 #include "TransformationsBuilder.h"
 #include "FormFactorBox.h"
+#include "HomogeneousMaterial.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleLayout.h"
 
 ISample* TransformBoxBuilder::buildSample() const
diff --git a/Core/StandardSamples/TwoDimLatticeBuilder.cpp b/Core/StandardSamples/TwoDimLatticeBuilder.cpp
index af54183e7c6b1e1ae525b2473236272d370d3316..a22a645dc64a453ba89b3928e0185621c2017821 100644
--- a/Core/StandardSamples/TwoDimLatticeBuilder.cpp
+++ b/Core/StandardSamples/TwoDimLatticeBuilder.cpp
@@ -15,8 +15,10 @@
 
 #include "TwoDimLatticeBuilder.h"
 #include "FormFactorCylinder.h"
+#include "HomogeneousMaterial.h"
 #include "InterferenceFunction2DLattice.h"
 #include "MultiLayer.h"
+#include "Particle.h"
 #include "ParticleComposition.h"
 #include "ParticleLayout.h"
 
@@ -35,7 +37,7 @@ ISample *SquareLatticeBuilder::buildSample() const
     Layer substrate_layer(substrate_material);
 
     std::unique_ptr<InterferenceFunction2DLattice> P_interference_function{
-        InterferenceFunction2DLattice::createSquare(10.0 * Units::nanometer)};
+        InterferenceFunction2DLattice::createSquare(10.0 * Units::nanometer) };
     FTDecayFunction2DCauchy pdf(300.0*Units::nanometer/2.0/Units::PI,
                                100.0*Units::nanometer/2.0/Units::PI);
     P_interference_function->setDecayFunction(pdf);