diff --git a/Sample/HardParticle/IFormFactorPolyhedron.cpp b/Sample/HardParticle/IFormFactorPolyhedron.cpp
index 9e34fd7d91b65e257271b19a2c3f7ecec08d1f1d..4570920c9e0fc122e97065d74cabfa6f44a9ede2 100644
--- a/Sample/HardParticle/IFormFactorPolyhedron.cpp
+++ b/Sample/HardParticle/IFormFactorPolyhedron.cpp
@@ -17,7 +17,7 @@
 //! "Form factor (Fourier shape transform) of polygon and polyhedron."
 
 #include "Sample/HardParticle/IFormFactorPolyhedron.h"
-#include "Sample/HardParticle/Polyhedron.h"
+#include "Sample/LibFF/Polyhedron.h"
 
 // #ifdef ALGORITHM_DIAGNOSTIC // TODO restore
 // void IFormFactorPolyhedron::setLimits(double _q, int _n)
diff --git a/Sample/HardParticle/IFormFactorPolyhedron.h b/Sample/HardParticle/IFormFactorPolyhedron.h
index 8f23c4277dbd531a4c660e8ae10739b5b9f69d90..d9d13814274122d3fbba194aafd92927f2d08777 100644
--- a/Sample/HardParticle/IFormFactorPolyhedron.h
+++ b/Sample/HardParticle/IFormFactorPolyhedron.h
@@ -16,7 +16,7 @@
 #ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_IFORMFACTORPOLYHEDRON_H
 #define BORNAGAIN_SAMPLE_HARDPARTICLE_IFORMFACTORPOLYHEDRON_H
 
-#include "Sample/HardParticle/PolyhedralTopology.h"
+#include "Sample/LibFF/PolyhedralTopology.h"
 #include "Sample/Scattering/IBornFF.h"
 #include <memory>
 
diff --git a/Sample/HardParticle/Prism.h b/Sample/HardParticle/Prism.h
index 312dea348d135ca792890389e0b2bd8c5e480257..4d1ac331dd281f3a56f7b58d576f9232e74850bb 100644
--- a/Sample/HardParticle/Prism.h
+++ b/Sample/HardParticle/Prism.h
@@ -20,8 +20,8 @@
 #ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_PRISM_H
 #define BORNAGAIN_SAMPLE_HARDPARTICLE_PRISM_H
 
-#include "Sample/HardParticle/PolyhedralComponents.h"
-#include "Sample/HardParticle/PolyhedralTopology.h"
+#include "Sample/LibFF/PolyhedralComponents.h"
+#include "Sample/LibFF/PolyhedralTopology.h"
 #include <memory>
 
 class Prism {
diff --git a/Sample/HardParticle/PolyhedralComponents.cpp b/Sample/LibFF/PolyhedralComponents.cpp
similarity index 99%
rename from Sample/HardParticle/PolyhedralComponents.cpp
rename to Sample/LibFF/PolyhedralComponents.cpp
index f17fd0d37d1b2b1342ac7bb3f4e6873355b215f6..f23c7addb610f4fd53b1eaf0ae025661672ba2d1 100644
--- a/Sample/HardParticle/PolyhedralComponents.cpp
+++ b/Sample/LibFF/PolyhedralComponents.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Sample/HardParticle/PolyhedralComponents.cpp
+//! @file      Sample/LibFF/PolyhedralComponents.cpp
 //! @brief     Implements classes PolyhedralEdge, PolyhedralFace
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "Sample/HardParticle/PolyhedralComponents.h"
+#include "Sample/LibFF/PolyhedralComponents.h"
 #include "Base/Math/Functions.h"
 #include "Base/Math/Precomputed.h"
 #include <iomanip>
diff --git a/Sample/HardParticle/PolyhedralComponents.h b/Sample/LibFF/PolyhedralComponents.h
similarity index 93%
rename from Sample/HardParticle/PolyhedralComponents.h
rename to Sample/LibFF/PolyhedralComponents.h
index 0540ff642e8240c08d355056f6759ce56b202cf1..509df8867c7145c93caa725c18a288246f451617 100644
--- a/Sample/HardParticle/PolyhedralComponents.h
+++ b/Sample/LibFF/PolyhedralComponents.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Sample/HardParticle/PolyhedralComponents.h
+//! @file      Sample/LibFF/PolyhedralComponents.h
 //! @brief     Defines classes PolyhedralEdge, PolyhedralFace
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -17,8 +17,8 @@
 #endif
 
 #ifndef USER_API
-#ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRALCOMPONENTS_H
-#define BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRALCOMPONENTS_H
+#ifndef BORNAGAIN_SAMPLE_LIBFF_POLYHEDRALCOMPONENTS_H
+#define BORNAGAIN_SAMPLE_LIBFF_POLYHEDRALCOMPONENTS_H
 
 #include "Base/Vector/Vectors3D.h"
 #include <vector>
@@ -93,5 +93,5 @@ private:
     complex_t expansion(complex_t fac_even, complex_t fac_odd, C3 qpa, double abslevel) const;
 };
 
-#endif // BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRALCOMPONENTS_H
+#endif // BORNAGAIN_SAMPLE_LIBFF_POLYHEDRALCOMPONENTS_H
 #endif // USER_API
diff --git a/Sample/HardParticle/PolyhedralTopology.h b/Sample/LibFF/PolyhedralTopology.h
similarity index 80%
rename from Sample/HardParticle/PolyhedralTopology.h
rename to Sample/LibFF/PolyhedralTopology.h
index a28d411952d9cf34e060976c8e3f8f02edda8892..933cae137e6773d7642c9d1035453084c186719c 100644
--- a/Sample/HardParticle/PolyhedralTopology.h
+++ b/Sample/LibFF/PolyhedralTopology.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Sample/HardParticle/PolyhedralTopology.h
+//! @file      Sample/LibFF/PolyhedralTopology.h
 //! @brief     Defines classes PolygonalTopology, PolyhedralTopology
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -17,8 +17,8 @@
 #endif
 
 #ifndef USER_API
-#ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRALTOPOLOGY_H
-#define BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRALTOPOLOGY_H
+#ifndef BORNAGAIN_SAMPLE_LIBFF_POLYHEDRALTOPOLOGY_H
+#define BORNAGAIN_SAMPLE_LIBFF_POLYHEDRALTOPOLOGY_H
 
 #include <vector>
 
@@ -36,5 +36,5 @@ public:
     bool symmetry_Ci;
 };
 
-#endif // BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRALTOPOLOGY_H
+#endif // BORNAGAIN_SAMPLE_LIBFF_POLYHEDRALTOPOLOGY_H
 #endif // USER_API
diff --git a/Sample/HardParticle/Polyhedron.cpp b/Sample/LibFF/Polyhedron.cpp
similarity index 98%
rename from Sample/HardParticle/Polyhedron.cpp
rename to Sample/LibFF/Polyhedron.cpp
index d162a4d142f555f6633da0affc0ba95c7eca015d..15ebbd824e8935f425c7cb3e791bfb9d818a3cac 100644
--- a/Sample/HardParticle/Polyhedron.cpp
+++ b/Sample/LibFF/Polyhedron.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Sample/HardParticle/Polyhedron.cpp
+//! @file      Sample/LibFF/Polyhedron.cpp
 //! @brief     Implements class Polyhedron.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -16,9 +16,9 @@
 //! by Joachim Wuttke, entitled
 //! "Numerically stable form factor of any polygon and polyhedron"
 
-#include "Sample/HardParticle/Polyhedron.h"
+#include "Sample/LibFF/Polyhedron.h"
 #include "Base/Math/Functions.h"
-#include "Sample/HardParticle/PolyhedralTopology.h"
+#include "Sample/LibFF/PolyhedralTopology.h"
 #include <boost/format.hpp>
 #include <iomanip>
 #include <iostream>
diff --git a/Sample/HardParticle/Polyhedron.h b/Sample/LibFF/Polyhedron.h
similarity index 85%
rename from Sample/HardParticle/Polyhedron.h
rename to Sample/LibFF/Polyhedron.h
index 0c1a17e808891be3dc4eafc969a2b13d07bbf6b4..b603a930c7a9d66cc46d9ddd96c93a7a3d97921a 100644
--- a/Sample/HardParticle/Polyhedron.h
+++ b/Sample/LibFF/Polyhedron.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Sample/HardParticle/Polyhedron.h
+//! @file      Sample/LibFF/Polyhedron.h
 //! @brief     Defines class Polyhedron.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -17,10 +17,10 @@
 #endif
 
 #ifndef USER_API
-#ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRON_H
-#define BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRON_H
+#ifndef BORNAGAIN_SAMPLE_LIBFF_POLYHEDRON_H
+#define BORNAGAIN_SAMPLE_LIBFF_POLYHEDRON_H
 
-#include "Sample/HardParticle/PolyhedralComponents.h"
+#include "Sample/LibFF/PolyhedralComponents.h"
 #include <memory>
 
 class PolyhedralTopology;
@@ -52,5 +52,5 @@ private:
     std::vector<R3> m_vertices; //! for topZ, bottomZ computation only
 };
 
-#endif // BORNAGAIN_SAMPLE_HARDPARTICLE_POLYHEDRON_H
+#endif // BORNAGAIN_SAMPLE_LIBFF_POLYHEDRON_H
 #endif // USER_API
diff --git a/Tests/SingleUse/ff-tetrahedron.cpp b/Tests/SingleUse/ff-tetrahedron.cpp
index 187b93bff7c915d5baf5c78d91058df875228fa0..94f467860d271dbfc0192f020e51ca3e1dabab1b 100644
--- a/Tests/SingleUse/ff-tetrahedron.cpp
+++ b/Tests/SingleUse/ff-tetrahedron.cpp
@@ -1,6 +1,6 @@
 #include "Base/Math/Constants.h"
 #include "Sample/HardParticle/HardParticles.h"
-#include "Sample/HardParticle/PolyhedralComponents.h"
+#include "Sample/LibFF/PolyhedralComponents.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <iostream>
 
diff --git a/Tests/SingleUse/ff-triangle.cpp b/Tests/SingleUse/ff-triangle.cpp
index 41b9afd01acee0597418dc9a51ad86085fd5772d..06ebb61bc7299c8731bcde33fa8ad99634c2d9ac 100644
--- a/Tests/SingleUse/ff-triangle.cpp
+++ b/Tests/SingleUse/ff-triangle.cpp
@@ -1,5 +1,5 @@
 #include "Base/Math/Constants.h"
-#include "Sample/HardParticle/PolyhedralComponents.h"
+#include "Sample/LibFF/PolyhedralComponents.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <cstdio>
 
diff --git a/Tests/Unit/Numeric/BisectFF.cpp b/Tests/Unit/Numeric/BisectFF.cpp
index 594512038b3191a2f42bf9afb487d6822185b00e..01781b883cee79badd5ff377a99090318cd54978 100644
--- a/Tests/Unit/Numeric/BisectFF.cpp
+++ b/Tests/Unit/Numeric/BisectFF.cpp
@@ -2,7 +2,7 @@
 
 #include "Base/Math/Constants.h"
 #include "Sample/HardParticle/HardParticles.h"
-#include "Sample/HardParticle/PolyhedralComponents.h" // for diagnostic
+#include "Sample/LibFF/PolyhedralComponents.h" // for diagnostic
 #include "Tests/GTestWrapper/google_test.h"
 #include <cassert>
 #include <complex>
diff --git a/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp b/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp
index 356ff942b13c6ffea3a92d023d709e5aa733b3dc..6516b1ab44c60a1ea094f6d8a3bfde4813969f75 100644
--- a/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp
+++ b/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp
@@ -1,5 +1,5 @@
 #include "Sample/HardParticle/HardParticles.h"
-#include "Sample/HardParticle/PolyhedralComponents.h" // for diagnostic
+#include "Sample/LibFF/PolyhedralComponents.h" // for diagnostic
 #include "Tests/GTestWrapper/google_test.h"
 #include "Tests/Unit/Numeric/MultiQTestbed.h"
 
diff --git a/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp b/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp
index b32ecdaa2320b2f13788e4674e54cd05250f0e43..a9d4b679563f5510e96a31c9c5c6b8d7fb09c406 100644
--- a/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp
+++ b/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp
@@ -1,6 +1,6 @@
 #include "Base/Math/Constants.h"
 #include "Sample/HardParticle/HardParticles.h"
-#include "Sample/HardParticle/PolyhedralComponents.h" // for diagnostic
+#include "Sample/LibFF/PolyhedralComponents.h" // for diagnostic
 #include "Tests/GTestWrapper/google_test.h"
 #include "Tests/Unit/Numeric/MultiQTestbed.h"