diff --git a/Core/FormFactors/inc/FormFactorBox.h b/Core/FormFactors/inc/FormFactorBox.h
index 4e73b14e7d38aa14c6600c5c13c9f7ab6510f4c4..adeb14d495cf3655c2c98b939eb0a48b1ed5fb13 100644
--- a/Core/FormFactors/inc/FormFactorBox.h
+++ b/Core/FormFactors/inc/FormFactorBox.h
@@ -32,8 +32,6 @@ public:
             init_parameters();
         }
 
-
-
     virtual ~FormFactorBox() {}
 
     FormFactorBox *clone() const;
diff --git a/Core/FormFactors/inc/FormFactorDWBA.h b/Core/FormFactors/inc/FormFactorDWBA.h
index 6a449b752545dd1fdeba736fc219c09a838ce877..da38d801e095884da37d70203bc7c6571721dd12 100644
--- a/Core/FormFactors/inc/FormFactorDWBA.h
+++ b/Core/FormFactors/inc/FormFactorDWBA.h
@@ -29,6 +29,8 @@ public:
 
     virtual FormFactorDWBA *clone() const;
 
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
+
     //! Sets reflection/transmission info for scalar DWBA simulation
     void setSpecularInfo(const LayerSpecularInfo& layer_specular_info);
 
diff --git a/Core/FormFactors/inc/FormFactorDWBAConstZ.h b/Core/FormFactors/inc/FormFactorDWBAConstZ.h
index 1bc2fc0c4303f043d20292996d85938f0b2e704d..b3668429825c5b8637a6f86e6489f8df2109f575 100644
--- a/Core/FormFactors/inc/FormFactorDWBAConstZ.h
+++ b/Core/FormFactors/inc/FormFactorDWBAConstZ.h
@@ -26,6 +26,7 @@ public:
     FormFactorDWBAConstZ(IFormFactor* p_form_factor, double depth=0.0);
     virtual ~FormFactorDWBAConstZ() {}
     virtual FormFactorDWBAConstZ *clone() const;
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     virtual complex_t evaluate(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const;
diff --git a/Core/FormFactors/inc/FormFactorDWBAPol.h b/Core/FormFactors/inc/FormFactorDWBAPol.h
index dc1fcefbe9c9ddf4f7504795549da8c4b6df9f10..2d7088c077558c039f952acc80f67bb4a8c0cc63 100644
--- a/Core/FormFactors/inc/FormFactorDWBAPol.h
+++ b/Core/FormFactors/inc/FormFactorDWBAPol.h
@@ -29,6 +29,9 @@ public:
 
     virtual FormFactorDWBAPol *clone() const;
 
+    //! calls the ISampleVisitor's visit method
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
+
     //! Throws exception
     virtual complex_t evaluate(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f) const;
diff --git a/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h b/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h
index 2ab38e06656767eed9ac101d72994afb29ce8789..dbed3d4002af355d7dc8c19ceb4ada6a8d977abc 100644
--- a/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h
+++ b/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h
@@ -28,6 +28,9 @@ public:
 
     virtual FormFactorDWBAPolConstZ *clone() const;
 
+    //! calls the ISampleVisitor's visit method
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
+
     //! Calculates and returns a polarized form factor calculation in DWBA
     virtual Eigen::Matrix2cd evaluatePol(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f, Bin1D phi_f) const;
diff --git a/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h b/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h
index 74de998fa53f87b66bdb80c30ded7d6a9ba7b2de..6b90520e08ebeaace1c7984868167aeb132d70fe 100644
--- a/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h
+++ b/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h
@@ -39,6 +39,8 @@ public:
 
     virtual FormFactorDecoratorDebyeWaller *clone() const;
 
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
+
     virtual complex_t evaluate(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const;
 
diff --git a/Core/FormFactors/inc/FormFactorDecoratorFactor.h b/Core/FormFactors/inc/FormFactorDecoratorFactor.h
index 59c44a8aff6dd147be7811f16143a52d67ebefdb..a8a7de62dc2bf84cdfc10683320c90539ba6bc71 100644
--- a/Core/FormFactors/inc/FormFactorDecoratorFactor.h
+++ b/Core/FormFactors/inc/FormFactorDecoratorFactor.h
@@ -24,8 +24,9 @@ class BA_CORE_API_ FormFactorDecoratorFactor : public IFormFactorDecorator
 {
 public:
     FormFactorDecoratorFactor(IFormFactor *p_form_factor, const complex_t& factor);
-    virtual FormFactorDecoratorFactor *clone() const;
     virtual ~FormFactorDecoratorFactor() {}
+    virtual FormFactorDecoratorFactor *clone() const;
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     //! Evaluate the form factor for scalar calculations
     virtual complex_t evaluate(const cvector_t& k_i,
diff --git a/Core/FormFactors/inc/FormFactorDecoratorMaterial.h b/Core/FormFactors/inc/FormFactorDecoratorMaterial.h
index db3cd3e3e85e9ab31a2307d18385cd9084cc0b77..661e58bd60ec52374f3b981e90b25b8b2a878d3b 100644
--- a/Core/FormFactors/inc/FormFactorDecoratorMaterial.h
+++ b/Core/FormFactors/inc/FormFactorDecoratorMaterial.h
@@ -32,6 +32,8 @@ public:
 
     virtual FormFactorDecoratorMaterial *clone() const;
 
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
+
     //! Sets the material of the scatterer
     virtual void setMaterial(const IMaterial *p_material);
 
diff --git a/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h b/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h
index 8131b5aa5b4b3c778c71c6656d193d52e36abe4e..86c82322e38fd682fff45f55af3bf16472e6d0b8 100644
--- a/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h
+++ b/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h
@@ -28,6 +28,8 @@ public:
     virtual ~FormFactorDecoratorMultiPositionFactor() {}
     virtual FormFactorDecoratorMultiPositionFactor *clone() const;
 
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
+
     virtual complex_t evaluate(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const;
 
diff --git a/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h b/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h
index 00063b69e1587cfb72caa9906557c9573f9dda5a..1db9e93abb17d36f8c0d70e2d63e7493eeb40f02 100644
--- a/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h
+++ b/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h
@@ -28,6 +28,7 @@ public:
             kvector_t position);
     virtual ~FormFactorDecoratorPositionFactor() {}
     virtual FormFactorDecoratorPositionFactor *clone() const;
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     virtual complex_t evaluate(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const;
diff --git a/Core/FormFactors/inc/FormFactorDecoratorTransformation.h b/Core/FormFactors/inc/FormFactorDecoratorTransformation.h
index cd1a3f3a6ae7abc5657cd5f45097aedf0e98d7e6..23b8e6bbdeba09c5f315f46b579252274e103f74 100644
--- a/Core/FormFactors/inc/FormFactorDecoratorTransformation.h
+++ b/Core/FormFactors/inc/FormFactorDecoratorTransformation.h
@@ -40,6 +40,7 @@ public:
     virtual ~FormFactorDecoratorTransformation() {}
 
     virtual FormFactorDecoratorTransformation *clone() const;
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     virtual complex_t evaluate(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const;
diff --git a/Core/FormFactors/inc/FormFactorWeighted.h b/Core/FormFactors/inc/FormFactorWeighted.h
index 97f97161478bb8170b57b5eafb51521a1ef74a8c..3512abc9e426188eb9fde173b0f26c7667670c27 100644
--- a/Core/FormFactors/inc/FormFactorWeighted.h
+++ b/Core/FormFactors/inc/FormFactorWeighted.h
@@ -28,6 +28,9 @@ public:
     virtual ~FormFactorWeighted();
     virtual FormFactorWeighted *clone() const;
 
+    //! calls the ISampleVisitor's visit method
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
+
     void addFormFactor(const IFormFactor& form_factor, double weight=1.0);
 
     virtual void setAmbientMaterial(const IMaterial *p_material);
diff --git a/Core/FormFactors/inc/IFormFactorBorn.h b/Core/FormFactors/inc/IFormFactorBorn.h
index c1fcd0518bfed5f1f5992d720a7764eb185fd3a5..6223cf41798a472e3861ed23cfbd24d1d017e1dd 100644
--- a/Core/FormFactors/inc/IFormFactorBorn.h
+++ b/Core/FormFactors/inc/IFormFactorBorn.h
@@ -27,9 +27,7 @@ public:
     virtual ~IFormFactorBorn() {}
     virtual IFormFactorBorn *clone() const=0;
 
-    virtual void accept(ISampleVisitor *visitor) const {
-        visitor->visit(this);
-    }
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     virtual complex_t evaluate(const cvector_t& k_i,
             const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const;
diff --git a/Core/FormFactors/inc/IFormFactorDecorator.h b/Core/FormFactors/inc/IFormFactorDecorator.h
index f5984f5761fd33991b099b39eaa88c253271df29..e560c04da0579f76cf0dbff880073196e22a5d80 100644
--- a/Core/FormFactors/inc/IFormFactorDecorator.h
+++ b/Core/FormFactors/inc/IFormFactorDecorator.h
@@ -28,6 +28,7 @@ public:
         : mp_form_factor(p_form_factor) {}
     virtual ~IFormFactorDecorator();
     virtual IFormFactorDecorator *clone() const=0;
+    virtual void accept(ISampleVisitor *visitor) const = 0;
 
     virtual void setAmbientMaterial(const IMaterial *p_material);
 
diff --git a/Core/Samples/inc/DiffuseParticleInfo.h b/Core/Samples/inc/DiffuseParticleInfo.h
index de08661b78cd761701606e977b8f67d269b53ff1..e3aaca19c65f4911fd1ebd59c84e09dc0ffbafaa 100644
--- a/Core/Samples/inc/DiffuseParticleInfo.h
+++ b/Core/Samples/inc/DiffuseParticleInfo.h
@@ -33,7 +33,7 @@ public:
     virtual ~DiffuseParticleInfo() {}
 
     //! Calls the ISampleVisitor's visit method
-    virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); }
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     //! scale abundance
     void scaleAbundance(double factor) { m_abundance *= factor; }
diff --git a/Core/Samples/inc/IInterferenceFunction.h b/Core/Samples/inc/IInterferenceFunction.h
index abf94eafd820264a986c1089ad165060fa4a1cfa..34c8a87f31a5ddaadf527bd2c52e39c52dc2566a 100644
--- a/Core/Samples/inc/IInterferenceFunction.h
+++ b/Core/Samples/inc/IInterferenceFunction.h
@@ -32,7 +32,7 @@ public:
     virtual IInterferenceFunction *clone() const=0;
 
     //! Calls the ISampleVisitor's visit method
-    virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); }
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     //! Retrieves the size-distance coupling constant (default 0.0)
     virtual double getKappa() const { return 0.0; }
diff --git a/Core/Samples/inc/IRoughness.h b/Core/Samples/inc/IRoughness.h
index 8fde31aa6a9eea770ca8d382a1cfd335078965fb..16f437744bc1b5852f48c0a7cd102c3f84755443 100644
--- a/Core/Samples/inc/IRoughness.h
+++ b/Core/Samples/inc/IRoughness.h
@@ -25,12 +25,7 @@ class BA_CORE_API_ IRoughness : public ISample
 public:
     IRoughness() {}
     virtual ~IRoughness() {}
-//    virtual IRoughness *clone() const
-//    {
-//        throw NotImplementedException(
-//                "IRoughness::clone() -> Error! Not implemented.");
-//    }
-
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 };
 
 #endif // IROUGHNESS_H
diff --git a/Core/Samples/inc/InterferenceFunctionNone.h b/Core/Samples/inc/InterferenceFunctionNone.h
index 6b1d2a7f8d32d6d422388dc10d53fb6b20cc10d7..0c3b5c271db0b2718e0aee30eae21dee63d00050 100644
--- a/Core/Samples/inc/InterferenceFunctionNone.h
+++ b/Core/Samples/inc/InterferenceFunctionNone.h
@@ -27,6 +27,7 @@ public:
     virtual ~InterferenceFunctionNone() {}
     virtual InterferenceFunctionNone *clone() const
     { return new InterferenceFunctionNone(); }
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     virtual double evaluate(const cvector_t& q) const { (void)q; return 1.0; }
 };
diff --git a/Core/Samples/inc/LayerRoughness.h b/Core/Samples/inc/LayerRoughness.h
index 5927e52db7b6635ecf0c5e484036759830bd49bf..27705d0c3125347af9621009a6f5796c5ae8bcff 100644
--- a/Core/Samples/inc/LayerRoughness.h
+++ b/Core/Samples/inc/LayerRoughness.h
@@ -36,7 +36,7 @@ public:
     LayerRoughness *clone() const;
 
     //! Calls the ISampleVisitor's visit method
-    virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); }
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     //! Returns power spectral density of the surface roughness
     double getSpectralFun(const kvector_t& kvec) const;
diff --git a/Core/Samples/inc/PositionParticleInfo.h b/Core/Samples/inc/PositionParticleInfo.h
index 24822bebd2fc2032fd6e5dc84dce7724ddc97da5..b82d60cca8972d762c7d49abdafc7630aebe316f 100644
--- a/Core/Samples/inc/PositionParticleInfo.h
+++ b/Core/Samples/inc/PositionParticleInfo.h
@@ -37,7 +37,7 @@ public:
     virtual PositionParticleInfo *clone() const;
 
     //! Calls the ISampleVisitor's visit method
-    virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); }
+    virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); }
 
     //! Returns particle.
     const Particle *getParticle() const { return mp_particle; }