diff --git a/GUI/Model/Fit/FitParameterHelper.cpp b/GUI/Model/Fit/FitParameterHelper.cpp
index 921a147d4b366b6d99762eb08645e98fb4d54ad5..e3412e6c9f5bccfad0d817aa7805ee953f6570fc 100644
--- a/GUI/Model/Fit/FitParameterHelper.cpp
+++ b/GUI/Model/Fit/FitParameterHelper.cpp
@@ -13,12 +13,12 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Fit/FitParameterHelper.h"
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
-#include "GUI/Model/Fit/FitParameterItem.h"
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
+#include "GUI/Model/Item/FitParameterItem.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Model/JobModel.h"
 
 
 ParameterItem* FitParameterHelper::getParameterItem(FitParameterContainerItem* container,
diff --git a/GUI/Model/Group/SelectionDescriptor.h b/GUI/Model/Group/SelectionDescriptor.h
index c439e52081936f568f528d9fddb13f1a94054e7e..0361a3a672ba922a31424158559aa2b177b03c4b 100644
--- a/GUI/Model/Group/SelectionDescriptor.h
+++ b/GUI/Model/Group/SelectionDescriptor.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_GROUP_SELECTIONDESCRIPTOR_H
 #define BORNAGAIN_GUI_MODEL_GROUP_SELECTIONDESCRIPTOR_H
 
-#include "GUI/Model/Group/GroupItem.h"
+#include "GUI/Model/Item/GroupItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include <QString>
 #include <QStringList>
diff --git a/GUI/Model/Instrument/InstrumentLibrary.cpp b/GUI/Model/Instrument/InstrumentLibrary.cpp
index 5d52bdfff4b01a610937e20341dae54997e48f07..002b518513df995c3d7c4a2c2fd7cd03b838c34e 100644
--- a/GUI/Model/Instrument/InstrumentLibrary.cpp
+++ b/GUI/Model/Instrument/InstrumentLibrary.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Instrument/InstrumentLibrary.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/Util/Path.h"
 #include <QFile>
 #include <QXmlStreamWriter>
diff --git a/GUI/Model/Instrument/InstrumentLibrary.h b/GUI/Model/Instrument/InstrumentLibrary.h
index d20bb567b7d131e1cdff1a38d523bd8f05ade170..8ad20bb080157437ba9186a463963ef6df7f83f8 100644
--- a/GUI/Model/Instrument/InstrumentLibrary.h
+++ b/GUI/Model/Instrument/InstrumentLibrary.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTLIBRARY_H
 #define BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTLIBRARY_H
 
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 
 class InstrumentLibrary {
 public:
diff --git a/GUI/Model/Ax/AxesItems.cpp b/GUI/Model/Item/AxesItems.cpp
similarity index 98%
rename from GUI/Model/Ax/AxesItems.cpp
rename to GUI/Model/Item/AxesItems.cpp
index 11f402c413b64634ff5fe1df709073c7e37da73e..e890e96eafa51106d34ab44ef52a5c5bc610d547 100644
--- a/GUI/Model/Ax/AxesItems.cpp
+++ b/GUI/Model/Item/AxesItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Ax/AxesItems.cpp
+//! @file      GUI/Model/Item/AxesItems.cpp
 //! @brief     Implements various axis items
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Ax/AxesItems.h"
+#include "GUI/Model/Item/AxesItems.h"
 #include "Base/Axis/FixedBinAxis.h"
 
 const int max_detector_pixels = 65536;
diff --git a/GUI/Model/Ax/AxesItems.h b/GUI/Model/Item/AxesItems.h
similarity index 92%
rename from GUI/Model/Ax/AxesItems.h
rename to GUI/Model/Item/AxesItems.h
index f9267877149514b510304a276644877591416b28..11394628fd2e8ac23353821a2bcb8df5478dfea3 100644
--- a/GUI/Model/Ax/AxesItems.h
+++ b/GUI/Model/Item/AxesItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Ax/AxesItems.h
+//! @file      GUI/Model/Item/AxesItems.h
 //! @brief     Defines various axis items
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_AX_AXESITEMS_H
-#define BORNAGAIN_GUI_MODEL_AX_AXESITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_AXESITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_AXESITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h" // no forward declaration < used in many children
 #include <memory>
 
@@ -92,4 +92,4 @@ private:
     void setMinMaxEditor(const QString& editorType);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_AX_AXESITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_AXESITEMS_H
diff --git a/GUI/Model/Instrument/BackgroundItems.cpp b/GUI/Model/Item/BackgroundItems.cpp
similarity index 95%
rename from GUI/Model/Instrument/BackgroundItems.cpp
rename to GUI/Model/Item/BackgroundItems.cpp
index 6db94c899683b909a92eb80de43a6487de22a372..978378da68dc75324850093d6f69a6a54f8d17e6 100644
--- a/GUI/Model/Instrument/BackgroundItems.cpp
+++ b/GUI/Model/Item/BackgroundItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BackgroundItems.cpp
+//! @file      GUI/Model/Item/BackgroundItems.cpp
 //! @brief     Implements BackgroundItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/BackgroundItems.h"
+#include "GUI/Model/Item/BackgroundItems.h"
 #include "Core/Background/ConstantBackground.h"
 #include "Core/Background/PoissonNoiseBackground.h"
 
diff --git a/GUI/Model/Instrument/BackgroundItems.h b/GUI/Model/Item/BackgroundItems.h
similarity index 85%
rename from GUI/Model/Instrument/BackgroundItems.h
rename to GUI/Model/Item/BackgroundItems.h
index e1291969ae3f18919350ab4c0c174b2642ae5740..06374d833c6381c06dd2c8e8f37f4b7d8ab9f4ce 100644
--- a/GUI/Model/Instrument/BackgroundItems.h
+++ b/GUI/Model/Item/BackgroundItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BackgroundItems.h
+//! @file      GUI/Model/Item/BackgroundItems.h
 //! @brief     Defines BackgroundItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_BACKGROUNDITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_BACKGROUNDITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_BACKGROUNDITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_BACKGROUNDITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class IBackground;
 
@@ -56,4 +56,4 @@ public:
     std::unique_ptr<IBackground> createBackground() const override;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_BACKGROUNDITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_BACKGROUNDITEMS_H
diff --git a/GUI/Model/Instrument/BeamAngleItems.cpp b/GUI/Model/Item/BeamAngleItems.cpp
similarity index 95%
rename from GUI/Model/Instrument/BeamAngleItems.cpp
rename to GUI/Model/Item/BeamAngleItems.cpp
index ce55f0ac7f829e7b006d1e9354bcc184dc72867b..17a39336807786b846a083a4527c00f899bec107 100644
--- a/GUI/Model/Instrument/BeamAngleItems.cpp
+++ b/GUI/Model/Item/BeamAngleItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamAngleItems.cpp
+//! @file      GUI/Model/Item/BeamAngleItems.cpp
 //! @brief     Implements class BeamAngleItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/BeamAngleItems.h"
+#include "GUI/Model/Item/BeamAngleItems.h"
 #include "Base/Const/Units.h"
 
 BeamAzimuthalAngleItem::BeamAzimuthalAngleItem()
diff --git a/GUI/Model/Instrument/BeamAngleItems.h b/GUI/Model/Item/BeamAngleItems.h
similarity index 80%
rename from GUI/Model/Instrument/BeamAngleItems.h
rename to GUI/Model/Item/BeamAngleItems.h
index a18cf25bfc35106cd487af6615e95bc4fcc84995..6d716167eae9e17656e4595568e4e965ec1671b6 100644
--- a/GUI/Model/Instrument/BeamAngleItems.h
+++ b/GUI/Model/Item/BeamAngleItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamAngleItems.h
+//! @file      GUI/Model/Item/BeamAngleItems.h
 //! @brief     Defines class BeamAngleItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMANGLEITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMANGLEITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_BEAMANGLEITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_BEAMANGLEITEMS_H
 
-#include "GUI/Model/Instrument/BeamDistributionItem.h"
+#include "GUI/Model/Item/BeamDistributionItem.h"
 
 class BeamAzimuthalAngleItem : public BeamDistributionItem {
 public:
@@ -45,4 +45,4 @@ private:
     static const bool m_show_mean = true;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMANGLEITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_BEAMANGLEITEMS_H
diff --git a/GUI/Model/Instrument/BeamDistributionItem.cpp b/GUI/Model/Item/BeamDistributionItem.cpp
similarity index 97%
rename from GUI/Model/Instrument/BeamDistributionItem.cpp
rename to GUI/Model/Item/BeamDistributionItem.cpp
index 8c22e4759657e5194e584c94b92c433f16e29e73..1d53e552e55f757c2bf6840a272b16b17d06b304 100644
--- a/GUI/Model/Instrument/BeamDistributionItem.cpp
+++ b/GUI/Model/Item/BeamDistributionItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamDistributionItem.cpp
+//! @file      GUI/Model/Item/BeamDistributionItem.cpp
 //! @brief     Implements class BeamDistributionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/BeamDistributionItem.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Session/RealLimitsItems.h"
+#include "GUI/Model/Item/BeamDistributionItem.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/RealLimitsItems.h"
 #include "Param/Distrib/Distributions.h"
 
 namespace {
diff --git a/GUI/Model/Instrument/BeamDistributionItem.h b/GUI/Model/Item/BeamDistributionItem.h
similarity index 84%
rename from GUI/Model/Instrument/BeamDistributionItem.h
rename to GUI/Model/Item/BeamDistributionItem.h
index 7ef1d7e833ab9b8044c0f71062551f1eac0428b8..8a7dd8922a8c86844b8d2c6f569266185e87840a 100644
--- a/GUI/Model/Instrument/BeamDistributionItem.h
+++ b/GUI/Model/Item/BeamDistributionItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamDistributionItem.h
+//! @file      GUI/Model/Item/BeamDistributionItem.h
 //! @brief     Defines class BeamDistributionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMDISTRIBUTIONITEM_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMDISTRIBUTIONITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_BEAMDISTRIBUTIONITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_BEAMDISTRIBUTIONITEM_H
 
-#include "GUI/Model/Instrument/ItemWithDistribution.h"
-#include "GUI/Model/Instrument/ResolutionItems.h"
+#include "GUI/Model/Item/ItemWithDistribution.h"
+#include "GUI/Model/Item/ResolutionItems.h"
 #include "Param/Distrib/ParameterDistribution.h"
 
 //! The BeamDistributionItem handles wavelength, inclination and azimuthal parameter
@@ -59,4 +59,4 @@ template <typename T> T* BeamDistributionItem::setDistributionType()
     return setGroupPropertyType<T>(P_DISTRIBUTION);
 }
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMDISTRIBUTIONITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_BEAMDISTRIBUTIONITEM_H
diff --git a/GUI/Model/Instrument/BeamItems.cpp b/GUI/Model/Item/BeamItems.cpp
similarity index 95%
rename from GUI/Model/Instrument/BeamItems.cpp
rename to GUI/Model/Item/BeamItems.cpp
index 49f41ccd1410b0b479c8cc62a528a621ec564b3c..be74be7aa15b2a5ff156b43a71a3fa30c475b552 100644
--- a/GUI/Model/Instrument/BeamItems.cpp
+++ b/GUI/Model/Item/BeamItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamItems.cpp
+//! @file      GUI/Model/Item/BeamItems.cpp
 //! @brief     Implements BeamItem hierarchy
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,16 +12,16 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/BeamItems.h"
+#include "GUI/Model/Item/BeamItems.h"
 #include "Base/Axis/IAxis.h"
 #include "Base/Const/Units.h"
 #include "Device/Beam/Beam.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Instrument/BeamAngleItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
-#include "GUI/Model/Instrument/FootprintItems.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/BeamAngleItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
+#include "GUI/Model/Item/FootprintItems.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include <cmath>
 
 namespace {
diff --git a/GUI/Model/Instrument/BeamItems.h b/GUI/Model/Item/BeamItems.h
similarity index 91%
rename from GUI/Model/Instrument/BeamItems.h
rename to GUI/Model/Item/BeamItems.h
index c1df416d290d3abc731292981b5fb3cd7aad16bf..2e385fe5defcac2db0b368e1bb9fa9a25837a642 100644
--- a/GUI/Model/Instrument/BeamItems.h
+++ b/GUI/Model/Item/BeamItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamItems.h
+//! @file      GUI/Model/Item/BeamItems.h
 //! @brief     Defines BeamItem hierarchy
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_BEAMITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_BEAMITEMS_H
 
-#include "GUI/Model/Instrument/SpecularBeamInclinationItem.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SpecularBeamInclinationItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include <heinz/Vectors3D.h>
 
 class BasicAxisItem;
@@ -111,4 +111,4 @@ template <typename T> T* SpecularBeamItem::setFootprintType()
     return setGroupPropertyType<T>(P_FOOTPRINT);
 }
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_BEAMITEMS_H
diff --git a/GUI/Model/Instrument/BeamWavelengthItem.cpp b/GUI/Model/Item/BeamWavelengthItem.cpp
similarity index 94%
rename from GUI/Model/Instrument/BeamWavelengthItem.cpp
rename to GUI/Model/Item/BeamWavelengthItem.cpp
index 7f18fb2377dca27709d594395697060a412db6b4..aaa4f72b1dc51b772570d91ae0052d3245713588 100644
--- a/GUI/Model/Instrument/BeamWavelengthItem.cpp
+++ b/GUI/Model/Item/BeamWavelengthItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamWavelengthItem.cpp
+//! @file      GUI/Model/Item/BeamWavelengthItem.cpp
 //! @brief     Implements class BeamWavelengthItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
 
 namespace {
 
diff --git a/GUI/Model/Instrument/BeamWavelengthItem.h b/GUI/Model/Item/BeamWavelengthItem.h
similarity index 79%
rename from GUI/Model/Instrument/BeamWavelengthItem.h
rename to GUI/Model/Item/BeamWavelengthItem.h
index 499c51137e552eb6e15d5a0fecc9a8c52d781553..6548118d3272e2efd0799860477f2df9f62b9d56 100644
--- a/GUI/Model/Instrument/BeamWavelengthItem.h
+++ b/GUI/Model/Item/BeamWavelengthItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/BeamWavelengthItem.h
+//! @file      GUI/Model/Item/BeamWavelengthItem.h
 //! @brief     Defines class BeamWavelengthItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMWAVELENGTHITEM_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMWAVELENGTHITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_BEAMWAVELENGTHITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_BEAMWAVELENGTHITEM_H
 
-#include "GUI/Model/Instrument/BeamDistributionItem.h"
+#include "GUI/Model/Item/BeamDistributionItem.h"
 
 class BA_CORE_API_ BeamWavelengthItem : public BeamDistributionItem {
 public:
@@ -39,4 +39,4 @@ public:
     void setToRange(const RealLimits& limits);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMWAVELENGTHITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_BEAMWAVELENGTHITEM_H
diff --git a/GUI/Model/Plot/Data1DViewItem.cpp b/GUI/Model/Item/Data1DViewItem.cpp
similarity index 97%
rename from GUI/Model/Plot/Data1DViewItem.cpp
rename to GUI/Model/Item/Data1DViewItem.cpp
index a615d0f16bedc2bf09a7e6ba931722370959fc03..66db1797c1cd375ffdb78604c49cb7a4a27671f5 100644
--- a/GUI/Model/Plot/Data1DViewItem.cpp
+++ b/GUI/Model/Item/Data1DViewItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Plot/Data1DViewItem.cpp
+//! @file      GUI/Model/Item/Data1DViewItem.cpp
 //! @brief     Implements class Data1DViewItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Plot/Data1DViewItem.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/Model/Plot/DataProperties.h"
 #include "GUI/Model/Plot/DataPropertyContainer.h"
 #include "GUI/Model/Plot/DataViewUtils.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/Util/Error.h"
 
diff --git a/GUI/Model/Plot/Data1DViewItem.h b/GUI/Model/Item/Data1DViewItem.h
similarity index 93%
rename from GUI/Model/Plot/Data1DViewItem.h
rename to GUI/Model/Item/Data1DViewItem.h
index a2d6a66677f7736047260536b396a35864f7cf4a..00101eab4997737ed1431294707e4ad1d16c1005 100644
--- a/GUI/Model/Plot/Data1DViewItem.h
+++ b/GUI/Model/Item/Data1DViewItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Plot/Data1DViewItem.h
+//! @file      GUI/Model/Item/Data1DViewItem.h
 //! @brief     Defines class Data1DViewItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_PLOT_DATA1DVIEWITEM_H
-#define BORNAGAIN_GUI_MODEL_PLOT_DATA1DVIEWITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_DATA1DVIEWITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_DATA1DVIEWITEM_H
 
 #include "GUI/Model/Group/SelectionDescriptor.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class AmplitudeAxisItem;
 class BasicAxisItem;
@@ -107,4 +107,4 @@ private:
     JobItem* m_job_item;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_PLOT_DATA1DVIEWITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_DATA1DVIEWITEM_H
diff --git a/GUI/Model/Session/DataItem.cpp b/GUI/Model/Item/DataItem.cpp
similarity index 97%
rename from GUI/Model/Session/DataItem.cpp
rename to GUI/Model/Item/DataItem.cpp
index b2e0dc33d491331a658e945942de9acefeecead2..1aebc3b7c29ba38203cea6a139f183909286ab38 100644
--- a/GUI/Model/Session/DataItem.cpp
+++ b/GUI/Model/Item/DataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/DataItem.cpp
+//! @file      GUI/Model/Item/DataItem.cpp
 //! @brief     Implements class IntensityDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/Model/Session/DataItem.h b/GUI/Model/Item/DataItem.h
similarity index 92%
rename from GUI/Model/Session/DataItem.h
rename to GUI/Model/Item/DataItem.h
index bf7c2c449a2de7b7ee91cb4777c39c9281c3daa6..f8bdce866a8b7e3d670bafc7b9ba1ce9ec078a47 100644
--- a/GUI/Model/Session/DataItem.h
+++ b/GUI/Model/Item/DataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/DataItem.h
+//! @file      GUI/Model/Item/DataItem.h
 //! @brief     Declares class DataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SESSION_DATAITEM_H
-#define BORNAGAIN_GUI_MODEL_SESSION_DATAITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_DATAITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_DATAITEM_H
 
 #include "Device/Data/OutputData.h"
 #include "GUI/Model/Group/SelectionDescriptor.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Support/IO/SaveLoadInterface.h"
 #include <QDateTime>
 #include <mutex>
@@ -81,4 +81,4 @@ protected:
     std::mutex m_update_data_mutex;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SESSION_DATAITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_DATAITEM_H
diff --git a/GUI/Model/Instrument/DetectorItems.cpp b/GUI/Model/Item/DetectorItems.cpp
similarity index 94%
rename from GUI/Model/Instrument/DetectorItems.cpp
rename to GUI/Model/Item/DetectorItems.cpp
index 8057dd66567c933c2ddfc624395da427a43eac52..a11270f256458ed0468a6b1889053fa62b3ae1a3 100644
--- a/GUI/Model/Instrument/DetectorItems.cpp
+++ b/GUI/Model/Item/DetectorItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/DetectorItems.cpp
+//! @file      GUI/Model/Item/DetectorItems.cpp
 //! @brief     Implements classes DetectorItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,15 +12,15 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/DetectorItems.h"
+#include "GUI/Model/Item/DetectorItems.h"
 #include "Device/Detector/IDetector2D.h"
 #include "Device/Mask/IShape2D.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 #include "GUI/Model/Group/GroupInfo.h"
-#include "GUI/Model/Instrument/ResolutionFunctionItems.h"
-#include "GUI/Model/Instrument/SphericalDetectorItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/ResolutionFunctionItems.h"
+#include "GUI/Model/Item/SphericalDetectorItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 
 namespace {
 
diff --git a/GUI/Model/Instrument/DetectorItems.h b/GUI/Model/Item/DetectorItems.h
similarity index 90%
rename from GUI/Model/Instrument/DetectorItems.h
rename to GUI/Model/Item/DetectorItems.h
index 9839a5b14dbf668fa2718125f659741d4e1024e6..5a69388010c626586ad2ccedb1792141ca5ba9ca 100644
--- a/GUI/Model/Instrument/DetectorItems.h
+++ b/GUI/Model/Item/DetectorItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/DetectorItems.h
+//! @file      GUI/Model/Item/DetectorItems.h
 //! @brief     Defines classes DetectorItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_DETECTORITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_DETECTORITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_DETECTORITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_DETECTORITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include <heinz/Vectors3D.h>
 
 class MaskContainerItem;
@@ -82,4 +82,4 @@ template <typename T> T* DetectorItem::setResolutionFunctionType()
     return setGroupPropertyType<T>(P_RESOLUTION_FUNCTION);
 }
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_DETECTORITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_DETECTORITEMS_H
diff --git a/GUI/Model/Sample/FTDecayFunctionItemCatalogs.cpp b/GUI/Model/Item/FTDecayFunctionItemCatalogs.cpp
similarity index 95%
rename from GUI/Model/Sample/FTDecayFunctionItemCatalogs.cpp
rename to GUI/Model/Item/FTDecayFunctionItemCatalogs.cpp
index adb23b4bca7bef41bfbd3d8ba85335180f6020ca..ae0e8da74fe218898941ce415e6b0fd14531a033 100644
--- a/GUI/Model/Sample/FTDecayFunctionItemCatalogs.cpp
+++ b/GUI/Model/Item/FTDecayFunctionItemCatalogs.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDecayFunctionItemCatalogs.cpp
+//! @file      GUI/Model/Item/FTDecayFunctionItemCatalogs.cpp
 //! @brief     Implements FTDecayFunctionItemCatalog classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/FTDecayFunctionItemCatalogs.h"
+#include "GUI/Model/Item/FTDecayFunctionItemCatalogs.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Sample/FTDecayFunctionItems.h"
+#include "GUI/Model/Item/FTDecayFunctionItems.h"
 
 FTDecayFunction1DItemCatalog::CatalogedType* FTDecayFunction1DItemCatalog::create(Type type)
 {
diff --git a/GUI/Model/Sample/FTDecayFunctionItemCatalogs.h b/GUI/Model/Item/FTDecayFunctionItemCatalogs.h
similarity index 88%
rename from GUI/Model/Sample/FTDecayFunctionItemCatalogs.h
rename to GUI/Model/Item/FTDecayFunctionItemCatalogs.h
index 295de4e3ec282add51e3a8b6f907044a2c148dc0..6449380495d9e0c681854cb4a7522e99872b945e 100644
--- a/GUI/Model/Sample/FTDecayFunctionItemCatalogs.h
+++ b/GUI/Model/Item/FTDecayFunctionItemCatalogs.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDecayFunctionItemCatalogs.h
+//! @file      GUI/Model/Item/FTDecayFunctionItemCatalogs.h
 //! @brief     Defines FTDecayFunctionItemCatalog classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_FTDECAYFUNCTIONITEMCATALOGS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_FTDECAYFUNCTIONITEMCATALOGS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FTDECAYFUNCTIONITEMCATALOGS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FTDECAYFUNCTIONITEMCATALOGS_H
 
 #include <QString>
 #include <QVector>
@@ -74,4 +74,4 @@ public:
 };
 
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_FTDECAYFUNCTIONITEMCATALOGS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FTDECAYFUNCTIONITEMCATALOGS_H
diff --git a/GUI/Model/Sample/FTDecayFunctionItems.cpp b/GUI/Model/Item/FTDecayFunctionItems.cpp
similarity index 98%
rename from GUI/Model/Sample/FTDecayFunctionItems.cpp
rename to GUI/Model/Item/FTDecayFunctionItems.cpp
index 576907b1a87b685e8946327cd637e61c52bc3cb7..bc9ac7a62f7138fbc7374816d38948403cbfa243 100644
--- a/GUI/Model/Sample/FTDecayFunctionItems.cpp
+++ b/GUI/Model/Item/FTDecayFunctionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDecayFunctionItems.cpp
+//! @file      GUI/Model/Item/FTDecayFunctionItems.cpp
 //! @brief     Implements FTDecayFunction1DItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/FTDecayFunctionItems.h"
+#include "GUI/Model/Item/FTDecayFunctionItems.h"
 #include "Base/Const/Units.h"
 #include "GUI/Model/XML/Serializer.h"
 #include <QList>
diff --git a/GUI/Model/Sample/FTDecayFunctionItems.h b/GUI/Model/Item/FTDecayFunctionItems.h
similarity index 93%
rename from GUI/Model/Sample/FTDecayFunctionItems.h
rename to GUI/Model/Item/FTDecayFunctionItems.h
index ab79420c147b87d08de9187ad39995b9b554e587..1d07bb59ace58cd539679530e2ec9bdcedaf9766 100644
--- a/GUI/Model/Sample/FTDecayFunctionItems.h
+++ b/GUI/Model/Item/FTDecayFunctionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDecayFunctionItems.h
+//! @file      GUI/Model/Item/FTDecayFunctionItems.h
 //! @brief     Defines FTDecayFunction1DItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_FTDECAYFUNCTIONITEMS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_FTDECAYFUNCTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FTDECAYFUNCTIONITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FTDECAYFUNCTIONITEMS_H
 
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Model/Types/DoubleProperty.h"
@@ -117,4 +117,4 @@ private:
     DoubleProperty m_eta;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_FTDECAYFUNCTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FTDECAYFUNCTIONITEMS_H
diff --git a/GUI/Model/Sample/FTDistributionItemCatalogs.cpp b/GUI/Model/Item/FTDistributionItemCatalogs.cpp
similarity index 96%
rename from GUI/Model/Sample/FTDistributionItemCatalogs.cpp
rename to GUI/Model/Item/FTDistributionItemCatalogs.cpp
index d8a9831aae14f74fbb4fd7c0e0f2e06e5b5aec99..7465289592f6457741fa4f6c348e7ea338fe0386 100644
--- a/GUI/Model/Sample/FTDistributionItemCatalogs.cpp
+++ b/GUI/Model/Item/FTDistributionItemCatalogs.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDistributionItemCatalogs.cpp
+//! @file      GUI/Model/Item/FTDistributionItemCatalogs.cpp
 //! @brief     Implements FTDistributionItemCatalog classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/FTDistributionItemCatalogs.h"
+#include "GUI/Model/Item/FTDistributionItemCatalogs.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Sample/FTDistributionItems.h"
+#include "GUI/Model/Item/FTDistributionItems.h"
 
 FTDistribution1DItemCatalog::CatalogedType* FTDistribution1DItemCatalog::create(Type type)
 {
diff --git a/GUI/Model/Sample/FTDistributionItemCatalogs.h b/GUI/Model/Item/FTDistributionItemCatalogs.h
similarity index 89%
rename from GUI/Model/Sample/FTDistributionItemCatalogs.h
rename to GUI/Model/Item/FTDistributionItemCatalogs.h
index aa274f21712328010dde0aa8fe017fd32bc08e2a..bd5a08d129b55464b66c2527aca77610bca604f4 100644
--- a/GUI/Model/Sample/FTDistributionItemCatalogs.h
+++ b/GUI/Model/Item/FTDistributionItemCatalogs.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDistributionItemCatalogs.h
+//! @file      GUI/Model/Item/FTDistributionItemCatalogs.h
 //! @brief     Defines FTDistributionItemCatalog classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_FTDISTRIBUTIONITEMCATALOGS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_FTDISTRIBUTIONITEMCATALOGS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FTDISTRIBUTIONITEMCATALOGS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FTDISTRIBUTIONITEMCATALOGS_H
 
 #include <QString>
 #include <QVector>
@@ -81,4 +81,4 @@ public:
 };
 
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_FTDISTRIBUTIONITEMCATALOGS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FTDISTRIBUTIONITEMCATALOGS_H
diff --git a/GUI/Model/Sample/FTDistributionItems.cpp b/GUI/Model/Item/FTDistributionItems.cpp
similarity index 98%
rename from GUI/Model/Sample/FTDistributionItems.cpp
rename to GUI/Model/Item/FTDistributionItems.cpp
index 5cfdbce4d1e0cfb08a263bb004b2aa89c9d0edfc..a69ee529d0024f27fc9df4b933602d41ed7e2e0f 100644
--- a/GUI/Model/Sample/FTDistributionItems.cpp
+++ b/GUI/Model/Item/FTDistributionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDistributionItems.cpp
+//! @file      GUI/Model/Item/FTDistributionItems.cpp
 //! @brief     Implements FTDistribution1DItem's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/FTDistributionItems.h"
+#include "GUI/Model/Item/FTDistributionItems.h"
 #include "Base/Const/Units.h"
 #include "GUI/Model/XML/Serializer.h"
 
diff --git a/GUI/Model/Sample/FTDistributionItems.h b/GUI/Model/Item/FTDistributionItems.h
similarity index 94%
rename from GUI/Model/Sample/FTDistributionItems.h
rename to GUI/Model/Item/FTDistributionItems.h
index 2474757296862817cad643eb4c222881dd5a5464..9534097609a9396e2b609b1e6527a4f68f839570 100644
--- a/GUI/Model/Sample/FTDistributionItems.h
+++ b/GUI/Model/Item/FTDistributionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FTDistributionItems.h
+//! @file      GUI/Model/Item/FTDistributionItems.h
 //! @brief     Defines FTDistribution1DItem's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_FTDISTRIBUTIONITEMS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_FTDISTRIBUTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FTDISTRIBUTIONITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FTDISTRIBUTIONITEMS_H
 
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Model/Types/DoubleProperty.h"
@@ -141,4 +141,4 @@ private:
     DoubleProperty m_eta;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_FTDISTRIBUTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FTDISTRIBUTIONITEMS_H
diff --git a/GUI/Model/Fit/FitParameterContainerItem.cpp b/GUI/Model/Item/FitParameterContainerItem.cpp
similarity index 93%
rename from GUI/Model/Fit/FitParameterContainerItem.cpp
rename to GUI/Model/Item/FitParameterContainerItem.cpp
index ef5c48cb927c050ae691fc62a11e3d3b76d02177..022b453274d7e412a1baaea6ef7f1d46b6688f62 100644
--- a/GUI/Model/Fit/FitParameterContainerItem.cpp
+++ b/GUI/Model/Item/FitParameterContainerItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterContainerItem.cpp
+//! @file      GUI/Model/Item/FitParameterContainerItem.cpp
 //! @brief     Implements class FitParameterContainerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
 #include "Base/Util/Assert.h"
 #include "Fit/Param/Parameters.h"
 #include "GUI/Model/Fit/FitParameterHelper.h"
-#include "GUI/Model/Fit/FitParameterItem.h"
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/FitParameterItem.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/Error.h"
 
 FitParameterContainerItem::FitParameterContainerItem()
diff --git a/GUI/Model/Fit/FitParameterContainerItem.h b/GUI/Model/Item/FitParameterContainerItem.h
similarity index 88%
rename from GUI/Model/Fit/FitParameterContainerItem.h
rename to GUI/Model/Item/FitParameterContainerItem.h
index 1a81bc66a4b131f596d2e9d0c69e34252c53103b..8673af3942b88692c8587054d9d69008dee1ec39 100644
--- a/GUI/Model/Fit/FitParameterContainerItem.h
+++ b/GUI/Model/Item/FitParameterContainerItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterContainerItem.h
+//! @file      GUI/Model/Item/FitParameterContainerItem.h
 //! @brief     Defines class FitParameterContainerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERCONTAINERITEM_H
-#define BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERCONTAINERITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERCONTAINERITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERCONTAINERITEM_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 namespace mumufit {
 
@@ -65,4 +65,4 @@ public:
     mumufit::Parameters createParameters() const;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERCONTAINERITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERCONTAINERITEM_H
diff --git a/GUI/Model/Fit/FitParameterItem.cpp b/GUI/Model/Item/FitParameterItem.cpp
similarity index 97%
rename from GUI/Model/Fit/FitParameterItem.cpp
rename to GUI/Model/Item/FitParameterItem.cpp
index 46c416ad7335a42321a6c69d3e749ffef20e2b35..8774ddef88b791eecfbd933c53a1ea7a51918a52 100644
--- a/GUI/Model/Fit/FitParameterItem.cpp
+++ b/GUI/Model/Item/FitParameterItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterItem.cpp
+//! @file      GUI/Model/Item/FitParameterItem.cpp
 //! @brief     Implements FitParameterItems family of classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/FitParameterItem.h"
+#include "GUI/Model/Item/FitParameterItem.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/ComboProperty.h"
 
 namespace {
diff --git a/GUI/Model/Fit/FitParameterItem.h b/GUI/Model/Item/FitParameterItem.h
similarity index 89%
rename from GUI/Model/Fit/FitParameterItem.h
rename to GUI/Model/Item/FitParameterItem.h
index 6eea5f1f54991a32daf903ea1abe783c74b66025..18bd707f2b1f9d22db1817606c3370e31b3a4f60 100644
--- a/GUI/Model/Fit/FitParameterItem.h
+++ b/GUI/Model/Item/FitParameterItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterItem.h
+//! @file      GUI/Model/Item/FitParameterItem.h
 //! @brief     Defines class FitParameterItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERITEM_H
-#define BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERITEM_H
 
 #include "Fit/Param/AttLimits.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class FitParameterLinkItem;
 
@@ -75,4 +75,4 @@ private:
     bool isFixed() const;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERITEM_H
diff --git a/GUI/Model/Fit/FitParameterLinkItem.cpp b/GUI/Model/Item/FitParameterLinkItem.cpp
similarity index 91%
rename from GUI/Model/Fit/FitParameterLinkItem.cpp
rename to GUI/Model/Item/FitParameterLinkItem.cpp
index 2bc633157e136aae36e3a43c6b5ce3572451f9d3..bbc81985ce8090a66ce59657f1f5fdf6147c0610 100644
--- a/GUI/Model/Fit/FitParameterLinkItem.cpp
+++ b/GUI/Model/Item/FitParameterLinkItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterLinkItem.cpp
+//! @file      GUI/Model/Item/FitParameterLinkItem.cpp
 //! @brief     Implements class FitParameterLinkItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
 
 FitParameterLinkItem::FitParameterLinkItem()
     : SessionItem(M_TYPE)
diff --git a/GUI/Model/Fit/FitParameterLinkItem.h b/GUI/Model/Item/FitParameterLinkItem.h
similarity index 80%
rename from GUI/Model/Fit/FitParameterLinkItem.h
rename to GUI/Model/Item/FitParameterLinkItem.h
index 7797a6ee5e9666f3b8deaf0d3426457228e8afc9..510726c1d60f3b7833a654910e7e01b51792f097 100644
--- a/GUI/Model/Fit/FitParameterLinkItem.h
+++ b/GUI/Model/Item/FitParameterLinkItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterLinkItem.h
+//! @file      GUI/Model/Item/FitParameterLinkItem.h
 //! @brief     Defines class FitParameterLinkItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERLINKITEM_H
-#define BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERLINKITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERLINKITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERLINKITEM_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 //! The FitParameterLinkItem class holds a link to ParameterItem in tuning tree.
 
@@ -37,4 +37,4 @@ public:
     SessionItem* linkItem() const;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERLINKITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FITPARAMETERLINKITEM_H
diff --git a/GUI/Model/Fit/FitSuiteItem.cpp b/GUI/Model/Item/FitSuiteItem.cpp
similarity index 92%
rename from GUI/Model/Fit/FitSuiteItem.cpp
rename to GUI/Model/Item/FitSuiteItem.cpp
index aba6428d02a305c9187be7a5e9d8c4fd9591cba9..365517c12ab7106a175afa79e24bf0fa85a44be4 100644
--- a/GUI/Model/Fit/FitSuiteItem.cpp
+++ b/GUI/Model/Item/FitSuiteItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitSuiteItem.cpp
+//! @file      GUI/Model/Item/FitSuiteItem.cpp
 //! @brief     Implements class FitSuiteItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
-#include "GUI/Model/Fit/MinimizerItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
+#include "GUI/Model/Item/MinimizerItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/Error.h"
 
 FitSuiteItem::FitSuiteItem()
diff --git a/GUI/Model/Fit/FitSuiteItem.h b/GUI/Model/Item/FitSuiteItem.h
similarity index 87%
rename from GUI/Model/Fit/FitSuiteItem.h
rename to GUI/Model/Item/FitSuiteItem.h
index ebd8f58ff127e28f05e7c5e9defee3bdea5a370a..e46df9c1df0e30d7bdf015eac535fa7ab2cd373f 100644
--- a/GUI/Model/Fit/FitSuiteItem.h
+++ b/GUI/Model/Item/FitSuiteItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitSuiteItem.h
+//! @file      GUI/Model/Item/FitSuiteItem.h
 //! @brief     Defines class FitSuiteItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_FITSUITEITEM_H
-#define BORNAGAIN_GUI_MODEL_FIT_FITSUITEITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FITSUITEITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FITSUITEITEM_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class FitParameterContainerItem;
 class MinimizerContainerItem;
@@ -51,4 +51,4 @@ public:
     void setChi2(double chi2);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_FITSUITEITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FITSUITEITEM_H
diff --git a/GUI/Model/Instrument/FootprintItems.cpp b/GUI/Model/Item/FootprintItems.cpp
similarity index 96%
rename from GUI/Model/Instrument/FootprintItems.cpp
rename to GUI/Model/Item/FootprintItems.cpp
index 7e081e17574a0e72e662c8483271ff576513ff16..9c9df968708e35519f0c18f6904e29f119462116 100644
--- a/GUI/Model/Instrument/FootprintItems.cpp
+++ b/GUI/Model/Item/FootprintItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/FootprintItems.cpp
+//! @file      GUI/Model/Item/FootprintItems.cpp
 //! @brief     Implements FootprintItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/FootprintItems.h"
+#include "GUI/Model/Item/FootprintItems.h"
 #include "Device/Beam/FootprintGauss.h"
 #include "Device/Beam/FootprintSquare.h"
 
diff --git a/GUI/Model/Instrument/FootprintItems.h b/GUI/Model/Item/FootprintItems.h
similarity index 87%
rename from GUI/Model/Instrument/FootprintItems.h
rename to GUI/Model/Item/FootprintItems.h
index a847eee16e7270b6d485a6c4de8c7944a125c58b..480f544a79d15e3a433bce0c520d610b18e190a4 100644
--- a/GUI/Model/Instrument/FootprintItems.h
+++ b/GUI/Model/Item/FootprintItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/FootprintItems.h
+//! @file      GUI/Model/Item/FootprintItems.h
 //! @brief     Declares FootprintItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_FOOTPRINTITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_FOOTPRINTITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FOOTPRINTITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FOOTPRINTITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class IFootprintFactor;
 
@@ -65,4 +65,4 @@ public:
     void setSquareFootprintValue(double value);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_FOOTPRINTITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FOOTPRINTITEMS_H
diff --git a/GUI/Model/Sample/FormFactorItemCatalog.cpp b/GUI/Model/Item/FormFactorItemCatalog.cpp
similarity index 98%
rename from GUI/Model/Sample/FormFactorItemCatalog.cpp
rename to GUI/Model/Item/FormFactorItemCatalog.cpp
index 228f3eee8d0905ddce622503f20247a7dfae5f8a..8a9d096c40a40695ef98a40498b3ed20454d1099 100644
--- a/GUI/Model/Sample/FormFactorItemCatalog.cpp
+++ b/GUI/Model/Item/FormFactorItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FormFactorItemCatalog.cpp
+//! @file      GUI/Model/Item/FormFactorItemCatalog.cpp
 //! @brief     Implements class FormFactorItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
+#include "GUI/Model/Item/FormFactorItems.h"
 
 FormFactorItem* FormFactorItemCatalog::create(Type type)
 {
diff --git a/GUI/Model/Sample/FormFactorItemCatalog.h b/GUI/Model/Item/FormFactorItemCatalog.h
similarity index 90%
rename from GUI/Model/Sample/FormFactorItemCatalog.h
rename to GUI/Model/Item/FormFactorItemCatalog.h
index 3d2188d93ef2b63d6167268718abf4e65ea7e06d..1954df8234d9d0dd43751bb509e6df00753e6ed8 100644
--- a/GUI/Model/Sample/FormFactorItemCatalog.h
+++ b/GUI/Model/Item/FormFactorItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FormFactorItemCatalog.h
+//! @file      GUI/Model/Item/FormFactorItemCatalog.h
 //! @brief     Defines class FormFactorItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_FORMFACTORITEMCATALOG_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_FORMFACTORITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FORMFACTORITEMCATALOG_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FORMFACTORITEMCATALOG_H
 
 #include <QString>
 #include <QVector>
@@ -86,4 +86,4 @@ public:
     static QString menuEntry(const FormFactorItem* item);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_FORMFACTORITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FORMFACTORITEMCATALOG_H
diff --git a/GUI/Model/Sample/FormFactorItems.cpp b/GUI/Model/Item/FormFactorItems.cpp
similarity index 99%
rename from GUI/Model/Sample/FormFactorItems.cpp
rename to GUI/Model/Item/FormFactorItems.cpp
index 7cca6555bed78ad73791ebacbfce229393d9e388..f91b8a207118a721928a3a1651103f933c936b0a 100644
--- a/GUI/Model/Sample/FormFactorItems.cpp
+++ b/GUI/Model/Item/FormFactorItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FormFactorItems.cpp
+//! @file      GUI/Model/Item/FormFactorItems.cpp
 //! @brief     Implements FormFactorItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/FormFactorItems.h"
+#include "GUI/Model/Item/FormFactorItems.h"
 #include "Base/Const/Units.h"
 #include "Sample/HardParticle/HardParticles.h"
 
diff --git a/GUI/Model/Sample/FormFactorItems.h b/GUI/Model/Item/FormFactorItems.h
similarity index 98%
rename from GUI/Model/Sample/FormFactorItems.h
rename to GUI/Model/Item/FormFactorItems.h
index ca5564d79803b43570c03ed3114bf14b73895764..60390c6691932038702f9914ce3e757c3c7e8255 100644
--- a/GUI/Model/Sample/FormFactorItems.h
+++ b/GUI/Model/Item/FormFactorItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/FormFactorItems.h
+//! @file      GUI/Model/Item/FormFactorItems.h
 //! @brief     Defines FormFactorItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_FORMFACTORITEMS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_FORMFACTORITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_FORMFACTORITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_FORMFACTORITEMS_H
 
 #include "GUI/Model/Types/DoubleProperty.h"
 #include "GUI/Model/XML/Serializer.h"
@@ -466,4 +466,4 @@ public:
     }
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_FORMFACTORITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_FORMFACTORITEMS_H
diff --git a/GUI/Model/Group/GroupItem.cpp b/GUI/Model/Item/GroupItem.cpp
similarity index 96%
rename from GUI/Model/Group/GroupItem.cpp
rename to GUI/Model/Item/GroupItem.cpp
index d97162b633dd8c93f6e84d174ae72dc53e334291..2a6f7015a7c1a92155c3741318ca6896f630cdbb 100644
--- a/GUI/Model/Group/GroupItem.cpp
+++ b/GUI/Model/Item/GroupItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Group/GroupItem.cpp
+//! @file      GUI/Model/Item/GroupItem.cpp
 //! @brief     Implements class GroupItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Group/GroupItem.h"
+#include "GUI/Model/Item/GroupItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/Util/Error.h"
 
diff --git a/GUI/Model/Group/GroupItem.h b/GUI/Model/Item/GroupItem.h
similarity index 84%
rename from GUI/Model/Group/GroupItem.h
rename to GUI/Model/Item/GroupItem.h
index 9332f4ca67d9695f6f845d4d1d2f75823f127df1..eac101293cc8f674a90b8b3a6f1a616d3cbef587 100644
--- a/GUI/Model/Group/GroupItem.h
+++ b/GUI/Model/Item/GroupItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Group/GroupItem.h
+//! @file      GUI/Model/Item/GroupItem.h
 //! @brief     Defines class GroupItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_GROUP_GROUPITEM_H
-#define BORNAGAIN_GUI_MODEL_GROUP_GROUPITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_GROUPITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_GROUPITEM_H
 
-#include "GUI/Model/Group/GroupItemController.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/GroupItemController.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include <memory>
 
 class GroupInfo;
@@ -57,4 +57,4 @@ template <typename T> T* GroupItem::itemOfType() const
     return dynamic_cast<T*>(m_controller->getItemOfType(T::M_TYPE));
 }
 
-#endif // BORNAGAIN_GUI_MODEL_GROUP_GROUPITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_GROUPITEM_H
diff --git a/GUI/Model/Group/GroupItemController.cpp b/GUI/Model/Item/GroupItemController.cpp
similarity index 94%
rename from GUI/Model/Group/GroupItemController.cpp
rename to GUI/Model/Item/GroupItemController.cpp
index cdf7f0b53cf8236cec87ca4ab2dc8404ee16e594..1c677ca278972af3a32403e3827ed4385531d1dc 100644
--- a/GUI/Model/Group/GroupItemController.cpp
+++ b/GUI/Model/Item/GroupItemController.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Group/GroupItemController.cpp
+//! @file      GUI/Model/Item/GroupItemController.cpp
 //! @brief     Implements class GroupItemController
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Group/GroupItemController.h"
+#include "GUI/Model/Item/GroupItemController.h"
 
-#include "GUI/Model/Catalog/ItemFactory.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/ItemFactory.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include <utility>
 
diff --git a/GUI/Model/Group/GroupItemController.h b/GUI/Model/Item/GroupItemController.h
similarity index 86%
rename from GUI/Model/Group/GroupItemController.h
rename to GUI/Model/Item/GroupItemController.h
index 2d5faa963405b59c3499903e5d7223f148c73bc7..e5e5075757d68ef3b1d1125cdc2015c5b2c39b53 100644
--- a/GUI/Model/Group/GroupItemController.h
+++ b/GUI/Model/Item/GroupItemController.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Group/GroupItemController.h
+//! @file      GUI/Model/Item/GroupItemController.h
 //! @brief     Defines class GroupItemController
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_GROUP_GROUPITEMCONTROLLER_H
-#define BORNAGAIN_GUI_MODEL_GROUP_GROUPITEMCONTROLLER_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_GROUPITEMCONTROLLER_H
+#define BORNAGAIN_GUI_MODEL_ITEM_GROUPITEMCONTROLLER_H
 
 #include "GUI/Model/Group/GroupInfo.h"
 #include <QStringList>
@@ -52,4 +52,4 @@ private:
     GroupInfo m_groupInfo;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_GROUP_GROUPITEMCONTROLLER_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_GROUPITEMCONTROLLER_H
diff --git a/GUI/Model/Instrument/InstrumentItems.cpp b/GUI/Model/Item/InstrumentItems.cpp
similarity index 97%
rename from GUI/Model/Instrument/InstrumentItems.cpp
rename to GUI/Model/Item/InstrumentItems.cpp
index 39f7b3e3f167af1cde7d89eb27e1a36eef6ccd39..d6e3ac5fbf1661d14225c40a9c04d42ef74318f5 100644
--- a/GUI/Model/Instrument/InstrumentItems.cpp
+++ b/GUI/Model/Item/InstrumentItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/InstrumentItems.cpp
+//! @file      GUI/Model/Item/InstrumentItems.cpp
 //! @brief     Implement class InstrumentItem and all its children
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "Base/Const/Units.h"
 #include "Base/Pixel/RectangularPixel.h"
 #include "Core/Simulation/DepthProbeSimulation.h"
@@ -21,15 +21,15 @@
 #include "Device/Coord/CoordSystem2D.h"
 #include "Device/Detector/RectangularDetector.h"
 #include "Device/Detector/SphericalDetector.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Instrument/BackgroundItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
-#include "GUI/Model/Instrument/DetectorItems.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
-#include "GUI/Model/Instrument/SphericalDetectorItem.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/BackgroundItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
+#include "GUI/Model/Item/DetectorItems.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
+#include "GUI/Model/Item/SphericalDetectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/Support/IO/ItemFileNameUtils.h"
 #include "GUI/Util/CoordName.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/Model/Instrument/InstrumentItems.h b/GUI/Model/Item/InstrumentItems.h
similarity index 95%
rename from GUI/Model/Instrument/InstrumentItems.h
rename to GUI/Model/Item/InstrumentItems.h
index c09e1d0c00a98affe8a12739f5266c6738f1a7b0..ed2b3272d0ebfb321c90672fc365ad7dae2d467e 100644
--- a/GUI/Model/Instrument/InstrumentItems.h
+++ b/GUI/Model/Item/InstrumentItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/InstrumentItems.h
+//! @file      GUI/Model/Item/InstrumentItems.h
 //! @brief     Defines class InstrumentItem and all its children
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_INSTRUMENTITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_INSTRUMENTITEMS_H
 
-#include "GUI/Model/Instrument/BeamItems.h" // inheritance prevents forward declaration
+#include "GUI/Model/Item/BeamItems.h" // inheritance prevents forward declaration
 
 class BackgroundItem;
 class DataItem;
@@ -210,4 +210,4 @@ template <typename T> T* Instrument2DItem::setDetectorType()
     return setGroupPropertyType<T>(P_DETECTOR);
 }
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_INSTRUMENTITEMS_H
diff --git a/GUI/Model/Data/IntensityDataItem.cpp b/GUI/Model/Item/IntensityDataItem.cpp
similarity index 97%
rename from GUI/Model/Data/IntensityDataItem.cpp
rename to GUI/Model/Item/IntensityDataItem.cpp
index c4ec7fcc66c3789a15e95c0d7f659517796b9fda..0b83bd57d40164d4692b40d38f07329aa4d23803 100644
--- a/GUI/Model/Data/IntensityDataItem.cpp
+++ b/GUI/Model/Item/IntensityDataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/IntensityDataItem.cpp
+//! @file      GUI/Model/Item/IntensityDataItem.cpp
 //! @brief     Implements class IntensityDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/JobItemUtils.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/Model/Mask/MaskUnitsConverter.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/ProjectionItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Support/IO/ImportDataInfo.h"
 #include "GUI/Util/Error.h"
 
diff --git a/GUI/Model/Data/IntensityDataItem.h b/GUI/Model/Item/IntensityDataItem.h
similarity index 94%
rename from GUI/Model/Data/IntensityDataItem.h
rename to GUI/Model/Item/IntensityDataItem.h
index 58589b159c7153a165fc04e476c66a1aabf3bb1f..d32c2cab671bda8d660ecaac515ebf647a98a068 100644
--- a/GUI/Model/Data/IntensityDataItem.h
+++ b/GUI/Model/Item/IntensityDataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/IntensityDataItem.h
+//! @file      GUI/Model/Item/IntensityDataItem.h
 //! @brief     Defines class IntensityDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_DATA_INTENSITYDATAITEM_H
-#define BORNAGAIN_GUI_MODEL_DATA_INTENSITYDATAITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_INTENSITYDATAITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_INTENSITYDATAITEM_H
 
 #include "GUI/Model/Group/SelectionDescriptor.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/DataItem.h"
 
 class BasicAxisItem;
 class AmplitudeAxisItem;
@@ -137,4 +137,4 @@ private:
     void updateAxesLabels();
 };
 
-#endif // BORNAGAIN_GUI_MODEL_DATA_INTENSITYDATAITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_INTENSITYDATAITEM_H
diff --git a/GUI/Model/Sample/InterferenceItemCatalog.cpp b/GUI/Model/Item/InterferenceItemCatalog.cpp
similarity index 95%
rename from GUI/Model/Sample/InterferenceItemCatalog.cpp
rename to GUI/Model/Item/InterferenceItemCatalog.cpp
index 353beefd88dd279aa3b19c83de181a42aefa3f2c..e00dac2cd348063f2f50f108fcc6331b3063399d 100644
--- a/GUI/Model/Sample/InterferenceItemCatalog.cpp
+++ b/GUI/Model/Item/InterferenceItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/InterferenceItemCatalog.cpp
+//! @file      GUI/Model/Item/InterferenceItemCatalog.cpp
 //! @brief     Implements class InterferenceItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/InterferenceItemCatalog.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
+#include "GUI/Model/Item/InterferenceItemCatalog.h"
+#include "GUI/Model/Item/InterferenceItems.h"
 
 InterferenceItem* InterferenceItemCatalog::create(Type type)
 {
diff --git a/GUI/Model/Sample/InterferenceItemCatalog.h b/GUI/Model/Item/InterferenceItemCatalog.h
similarity index 86%
rename from GUI/Model/Sample/InterferenceItemCatalog.h
rename to GUI/Model/Item/InterferenceItemCatalog.h
index abd8fa122cfd5c55dfbe33b200aec8fa3561808d..2ac1caae9b817320225b67b800dbedc658d74304 100644
--- a/GUI/Model/Sample/InterferenceItemCatalog.h
+++ b/GUI/Model/Item/InterferenceItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/InterferenceItemCatalog.h
+//! @file      GUI/Model/Item/InterferenceItemCatalog.h
 //! @brief     Defines class InterferenceItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_INTERFERENCEITEMCATALOG_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_INTERFERENCEITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_INTERFERENCEITEMCATALOG_H
+#define BORNAGAIN_GUI_MODEL_ITEM_INTERFERENCEITEMCATALOG_H
 
 #include <QString>
 #include <QVector>
@@ -60,4 +60,4 @@ public:
     static Type type(const InterferenceItem* item);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_INTERFERENCEITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_INTERFERENCEITEMCATALOG_H
diff --git a/GUI/Model/Sample/InterferenceItems.cpp b/GUI/Model/Item/InterferenceItems.cpp
similarity index 96%
rename from GUI/Model/Sample/InterferenceItems.cpp
rename to GUI/Model/Item/InterferenceItems.cpp
index cefff4a5c8d6e05b1c41041741710c36aa016e60..3a9389ca891ce5978203efdeb21886f9762d06ed 100644
--- a/GUI/Model/Sample/InterferenceItems.cpp
+++ b/GUI/Model/Item/InterferenceItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/InterferenceItems.cpp
+//! @file      GUI/Model/Item/InterferenceItems.cpp
 //! @brief     Implements InterferenceItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/InterferenceItems.h"
+#include "GUI/Model/Item/InterferenceItems.h"
 #include "Base/Const/Units.h"
-#include "GUI/Model/Sample/FTDecayFunctionItemCatalogs.h"
-#include "GUI/Model/Sample/FTDecayFunctionItems.h"
-#include "GUI/Model/Sample/FTDistributionItemCatalogs.h"
-#include "GUI/Model/Sample/FTDistributionItems.h"
-#include "GUI/Model/Sample/Lattice2DItemCatalog.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
+#include "GUI/Model/Item/FTDecayFunctionItemCatalogs.h"
+#include "GUI/Model/Item/FTDecayFunctionItems.h"
+#include "GUI/Model/Item/FTDistributionItemCatalogs.h"
+#include "GUI/Model/Item/FTDistributionItems.h"
+#include "GUI/Model/Item/Lattice2DItemCatalog.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "Sample/Aggregate/Interferences.h"
diff --git a/GUI/Model/Sample/InterferenceItems.h b/GUI/Model/Item/InterferenceItems.h
similarity index 94%
rename from GUI/Model/Sample/InterferenceItems.h
rename to GUI/Model/Item/InterferenceItems.h
index 8fe2b492bd43629d812c9209a9bc24577b2420e3..a9594620cbe4883c360cca45d8e0e9125265058b 100644
--- a/GUI/Model/Sample/InterferenceItems.h
+++ b/GUI/Model/Item/InterferenceItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/InterferenceItems.h
+//! @file      GUI/Model/Item/InterferenceItems.h
 //! @brief     Defines InterferenceItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_INTERFERENCEITEMS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_INTERFERENCEITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_INTERFERENCEITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_INTERFERENCEITEMS_H
 
 #include "GUI/Model/Group/SelectionProperty.h"
-#include "GUI/Model/Sample/FTDecayFunctionItems.h"
-#include "GUI/Model/Sample/FTDistributionItems.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
+#include "GUI/Model/Item/FTDecayFunctionItems.h"
+#include "GUI/Model/Item/FTDistributionItems.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
 #include "GUI/Model/Types/DoubleProperty.h"
 #include "GUI/Model/Types/UIntProperty.h"
 #include <memory>
@@ -180,4 +180,4 @@ private:
     SelectionProperty<FTDistribution1DItem*> m_pdf;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_INTERFERENCEITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_INTERFERENCEITEMS_H
diff --git a/GUI/Model/Catalog/ItemCatalog.cpp b/GUI/Model/Item/ItemCatalog.cpp
similarity index 68%
rename from GUI/Model/Catalog/ItemCatalog.cpp
rename to GUI/Model/Item/ItemCatalog.cpp
index a3d240752100b7391fa434fbaa25ead16433e894..7511c462e573ca5d8ce713cf56b40aa811dc0885 100644
--- a/GUI/Model/Catalog/ItemCatalog.cpp
+++ b/GUI/Model/Item/ItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Catalog/ItemCatalog.cpp
+//! @file      GUI/Model/Item/ItemCatalog.cpp
 //! @brief     Implements class ItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,42 +12,42 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Catalog/ItemCatalog.h"
+#include "GUI/Model/Item/ItemCatalog.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
-#include "GUI/Model/Fit/FitParameterItem.h"
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/MinimizerItem.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Instrument/BackgroundItems.h"
-#include "GUI/Model/Instrument/BeamAngleItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
-#include "GUI/Model/Instrument/FootprintItems.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
-#include "GUI/Model/Instrument/ResolutionFunctionItems.h"
-#include "GUI/Model/Instrument/SpecularBeamInclinationItem.h"
-#include "GUI/Model/Instrument/SphericalDetectorItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
+#include "GUI/Model/Item/FitParameterItem.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/MinimizerItem.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Item/BackgroundItems.h"
+#include "GUI/Model/Item/BeamAngleItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
+#include "GUI/Model/Item/FootprintItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
+#include "GUI/Model/Item/ResolutionFunctionItems.h"
+#include "GUI/Model/Item/SpecularBeamInclinationItem.h"
+#include "GUI/Model/Item/SphericalDetectorItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
 #include "GUI/Model/Plot/DataProperties.h"
 #include "GUI/Model/Plot/DataPropertyContainer.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Session/PropertyItem.h"
-#include "GUI/Model/Session/RealLimitsItems.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Item/PropertyItem.h"
+#include "GUI/Model/Item/RealLimitsItems.h"
 
 ItemCatalog::ItemCatalog()
 {
diff --git a/GUI/Model/Catalog/ItemCatalog.h b/GUI/Model/Item/ItemCatalog.h
similarity index 83%
rename from GUI/Model/Catalog/ItemCatalog.h
rename to GUI/Model/Item/ItemCatalog.h
index 4c724640830eff1c58bf95d5bf1f9b3d8159714f..9ba3858d79e6399757dc9aabf4c4739c8223e02f 100644
--- a/GUI/Model/Catalog/ItemCatalog.h
+++ b/GUI/Model/Item/ItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Catalog/ItemCatalog.h
+//! @file      GUI/Model/Item/ItemCatalog.h
 //! @brief     Defines class ItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_CATALOG_ITEMCATALOG_H
-#define BORNAGAIN_GUI_MODEL_CATALOG_ITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ITEMCATALOG_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ITEMCATALOG_H
 
 #include "Base/Util/IFactory.h"
 #include <QString>
@@ -37,4 +37,4 @@ private:
     IFactory<QString, SessionItem> m_data;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_CATALOG_ITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ITEMCATALOG_H
diff --git a/GUI/Model/Catalog/ItemFactory.cpp b/GUI/Model/Item/ItemFactory.cpp
similarity index 82%
rename from GUI/Model/Catalog/ItemFactory.cpp
rename to GUI/Model/Item/ItemFactory.cpp
index 60e54ebabcf914ae399de1e8bca2bbe29e933ea3..6efbb3487589b257ed14262e9f8b3a636b29e0fb 100644
--- a/GUI/Model/Catalog/ItemFactory.cpp
+++ b/GUI/Model/Item/ItemFactory.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Catalog/ItemFactory.cpp
+//! @file      GUI/Model/Item/ItemFactory.cpp
 //! @brief     Implements class ItemFactory
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Catalog/ItemFactory.h"
-#include "GUI/Model/Catalog/ItemCatalog.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/ItemFactory.h"
+#include "GUI/Model/Item/ItemCatalog.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 SessionItem* GUI::Model::ItemFactory::CreateItem(const QString& model_name, SessionItem* parent)
 {
diff --git a/GUI/Model/Catalog/ItemFactory.h b/GUI/Model/Item/ItemFactory.h
similarity index 80%
rename from GUI/Model/Catalog/ItemFactory.h
rename to GUI/Model/Item/ItemFactory.h
index ae0aa80d448f1fe6f13fecaa234f82ae98387ce8..620020a6bf08adc1c2c78c08d6e420252b124182 100644
--- a/GUI/Model/Catalog/ItemFactory.h
+++ b/GUI/Model/Item/ItemFactory.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Catalog/ItemFactory.h
+//! @file      GUI/Model/Item/ItemFactory.h
 //! @brief     Defines namespace GUI::Model::ItemFactory
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_CATALOG_ITEMFACTORY_H
-#define BORNAGAIN_GUI_MODEL_CATALOG_ITEMFACTORY_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ITEMFACTORY_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ITEMFACTORY_H
 
 #include <QString>
 
@@ -26,4 +26,4 @@ SessionItem* CreateItem(const QString& model_name, SessionItem* parent = nullptr
 
 } // namespace GUI::Model::ItemFactory
 
-#endif // BORNAGAIN_GUI_MODEL_CATALOG_ITEMFACTORY_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ITEMFACTORY_H
diff --git a/GUI/Model/Instrument/ItemWithDistribution.h b/GUI/Model/Item/ItemWithDistribution.h
similarity index 79%
rename from GUI/Model/Instrument/ItemWithDistribution.h
rename to GUI/Model/Item/ItemWithDistribution.h
index dda91e4fbbd16afe6797ed9096464ec00520a937..2e5f09967e8501d4cbbdbd900b48aed407278b20 100644
--- a/GUI/Model/Instrument/ItemWithDistribution.h
+++ b/GUI/Model/Item/ItemWithDistribution.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/ItemWithDistribution.h
+//! @file      GUI/Model/Item/ItemWithDistribution.h
 //! @brief     Defines abstract item with a distribution
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_ITEMWITHDISTRIBUTION_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_ITEMWITHDISTRIBUTION_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHDISTRIBUTION_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHDISTRIBUTION_H
 
 #include "Wrap/WinDllMacros.h"
 
@@ -32,4 +32,4 @@ public:
     virtual ~ItemWithDistribution() = default;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_ITEMWITHDISTRIBUTION_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHDISTRIBUTION_H
diff --git a/GUI/Model/Sample/ItemWithMaterial.cpp b/GUI/Model/Item/ItemWithMaterial.cpp
similarity index 89%
rename from GUI/Model/Sample/ItemWithMaterial.cpp
rename to GUI/Model/Item/ItemWithMaterial.cpp
index b6781af985da214311bcf67dfbd953de43a14fbc..3d51a02f084eb8075127dd2e725ed72a24986194 100644
--- a/GUI/Model/Sample/ItemWithMaterial.cpp
+++ b/GUI/Model/Item/ItemWithMaterial.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ItemWithMaterial.cpp
+//! @file      GUI/Model/Item/ItemWithMaterial.cpp
 //! @brief     Implements class ItemWithMaterial
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/ItemWithMaterial.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
 
 void ItemWithMaterial::setMaterial(const MaterialItem* materialItem)
 {
diff --git a/GUI/Model/Sample/ItemWithMaterial.h b/GUI/Model/Item/ItemWithMaterial.h
similarity index 87%
rename from GUI/Model/Sample/ItemWithMaterial.h
rename to GUI/Model/Item/ItemWithMaterial.h
index 78739704b2c5ce6affbb686a242a72ca3b47ccae..d14d144f903174dcf2bd1b6c427e4e9737678887 100644
--- a/GUI/Model/Sample/ItemWithMaterial.h
+++ b/GUI/Model/Item/ItemWithMaterial.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ItemWithMaterial.h
+//! @file      GUI/Model/Item/ItemWithMaterial.h
 //! @brief     Defines abstract item with a material property
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHMATERIAL_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHMATERIAL_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHMATERIAL_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHMATERIAL_H
 
 #include <QString>
 #include <functional>
@@ -51,4 +51,4 @@ protected:
     QString m_materialIdentifier;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHMATERIAL_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHMATERIAL_H
diff --git a/GUI/Model/Sample/ItemWithParticles.cpp b/GUI/Model/Item/ItemWithParticles.cpp
similarity index 92%
rename from GUI/Model/Sample/ItemWithParticles.cpp
rename to GUI/Model/Item/ItemWithParticles.cpp
index 06d752d277a6e7bff36991da2e056e5d03726fb3..917c3656229970e49cac0b5da48b9b547dd36786 100644
--- a/GUI/Model/Sample/ItemWithParticles.cpp
+++ b/GUI/Model/Item/ItemWithParticles.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ItemWithParticles.cpp
+//! @file      GUI/Model/Item/ItemWithParticles.cpp
 //! @brief     Implements class ItemWithParticles
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/ItemWithParticles.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
 #include "Base/Vector/RotMatrix.h"
-#include "GUI/Model/Sample/RotationItemCatalog.h"
+#include "GUI/Model/Item/RotationItemCatalog.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "Sample/Particle/IParticle.h"
 #include "Sample/Scattering/Rotations.h"
diff --git a/GUI/Model/Sample/ItemWithParticles.h b/GUI/Model/Item/ItemWithParticles.h
similarity index 87%
rename from GUI/Model/Sample/ItemWithParticles.h
rename to GUI/Model/Item/ItemWithParticles.h
index 3dd5fa542752b73ff35bc6b19e1411cc60e06cde..880c0aa975de595d51e23ac691d5e884140cdc59 100644
--- a/GUI/Model/Sample/ItemWithParticles.h
+++ b/GUI/Model/Item/ItemWithParticles.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ItemWithParticles.h
+//! @file      GUI/Model/Item/ItemWithParticles.h
 //! @brief     Defines abstract item with a material property
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLES_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLES_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHPARTICLES_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHPARTICLES_H
 
 #include "GUI/Model/Group/SelectionProperty.h"
-#include "GUI/Model/Sample/RotationItems.h"
+#include "GUI/Model/Item/RotationItems.h"
 #include "GUI/Model/Types/DoubleProperty.h"
 #include "GUI/Model/Types/VectorProperty.h"
 #include <memory>
@@ -60,4 +60,4 @@ protected:
     SelectionProperty<RotationItem*> m_rotation;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLES_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHPARTICLES_H
diff --git a/GUI/Model/Sample/ItemWithParticlesCatalog.cpp b/GUI/Model/Item/ItemWithParticlesCatalog.cpp
similarity index 88%
rename from GUI/Model/Sample/ItemWithParticlesCatalog.cpp
rename to GUI/Model/Item/ItemWithParticlesCatalog.cpp
index 146c835c5295701b8d3cfe2f88fa717bed59fd16..840843ea86c61555371f0093775f6388d1c8fde6 100644
--- a/GUI/Model/Sample/ItemWithParticlesCatalog.cpp
+++ b/GUI/Model/Item/ItemWithParticlesCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ItemWithParticlesCatalog.cpp
+//! @file      GUI/Model/Item/ItemWithParticlesCatalog.cpp
 //! @brief     Implements class ItemWithParticlesCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/ItemWithParticlesCatalog.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/ItemWithParticlesCatalog.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
 
 ItemWithParticles* ItemWithParticlesCatalog::create(Type type)
 {
diff --git a/GUI/Model/Sample/ItemWithParticlesCatalog.h b/GUI/Model/Item/ItemWithParticlesCatalog.h
similarity index 86%
rename from GUI/Model/Sample/ItemWithParticlesCatalog.h
rename to GUI/Model/Item/ItemWithParticlesCatalog.h
index 9d060c42f24263ed745c6c7c1560c082b04ea4ae..20daae89984e6c60d989d13d103197750ca3af89 100644
--- a/GUI/Model/Sample/ItemWithParticlesCatalog.h
+++ b/GUI/Model/Item/ItemWithParticlesCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ItemWithParticlesCatalog.h
+//! @file      GUI/Model/Item/ItemWithParticlesCatalog.h
 //! @brief     Defines class ItemWithParticlesCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLESCATALOG_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLESCATALOG_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHPARTICLESCATALOG_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHPARTICLESCATALOG_H
 
 #include <QString>
 #include <QVector>
@@ -51,4 +51,4 @@ public:
     static Type type(const ItemWithParticles* item);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLESCATALOG_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ITEMWITHPARTICLESCATALOG_H
diff --git a/GUI/Model/Fit/JobItem.cpp b/GUI/Model/Item/JobItem.cpp
similarity index 96%
rename from GUI/Model/Fit/JobItem.cpp
rename to GUI/Model/Item/JobItem.cpp
index 2469897a1993f582a0e1cc1f8d22042905c9dcc4..67b00408b1937cea173d1a6a1c45003043c62e64 100644
--- a/GUI/Model/Fit/JobItem.cpp
+++ b/GUI/Model/Item/JobItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/JobItem.cpp
+//! @file      GUI/Model/Item/JobItem.cpp
 //! @brief     Implements class JobItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,16 +12,16 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/JobItemUtils.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include "GUI/Support/Data/XML.h"
 #include "GUI/Support/IO/ItemFileNameUtils.h"
diff --git a/GUI/Model/Fit/JobItem.h b/GUI/Model/Item/JobItem.h
similarity index 92%
rename from GUI/Model/Fit/JobItem.h
rename to GUI/Model/Item/JobItem.h
index 639b309a0d96c36a3069b7a50920e7dc14094abf..dcb210c50d3f4f6a77482a0e73e341d1e1ecc7f8 100644
--- a/GUI/Model/Fit/JobItem.h
+++ b/GUI/Model/Item/JobItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/JobItem.h
+//! @file      GUI/Model/Item/JobItem.h
 //! @brief     Defines class JobItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_JOBITEM_H
-#define BORNAGAIN_GUI_MODEL_FIT_JOBITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_JOBITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_JOBITEM_H
 
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Session/SessionItem.h"
-#include "GUI/Model/Session/SessionModel.h" // call to model() from templated fct
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/SessionItem.h"
+#include "GUI/Model/Model/SessionModel.h" // call to model() from templated fct
 #include "GUI/Support/Data/JobStatus.h"     // enum cannot be forward declared
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include <QDateTime>
@@ -164,4 +164,4 @@ template <typename T> T* JobItem::setDataType()
     return model()->insertItem<T>(this, -1, T_OUTPUT);
 }
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_JOBITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_JOBITEM_H
diff --git a/GUI/Model/Instrument/JobItemUtils.cpp b/GUI/Model/Item/JobItemUtils.cpp
similarity index 95%
rename from GUI/Model/Instrument/JobItemUtils.cpp
rename to GUI/Model/Item/JobItemUtils.cpp
index 7376915d40f2d6264029d62d2252064712301295..d66ac1aa0e46fec475a261e7652f8a700702498f 100644
--- a/GUI/Model/Instrument/JobItemUtils.cpp
+++ b/GUI/Model/Item/JobItemUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/JobItemUtils.cpp
+//! @file      GUI/Model/Item/JobItemUtils.cpp
 //! @brief     Implements class JobItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/JobItemUtils.h"
+#include "GUI/Model/Item/JobItemUtils.h"
 #include "Core/Simulation/ISimulation.h"
 #include "Device/Histo/SimulationResult.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "GUI/Util/CoordName.h"
 
 namespace {
diff --git a/GUI/Model/Instrument/JobItemUtils.h b/GUI/Model/Item/JobItemUtils.h
similarity index 88%
rename from GUI/Model/Instrument/JobItemUtils.h
rename to GUI/Model/Item/JobItemUtils.h
index 2336bc3dbfb7bf17d94c02d0872bd9af5e4adb9d..caa4ceb47e7c604246c8c5f2fe102090e1037ec6 100644
--- a/GUI/Model/Instrument/JobItemUtils.h
+++ b/GUI/Model/Item/JobItemUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/JobItemUtils.h
+//! @file      GUI/Model/Item/JobItemUtils.h
 //! @brief     Defines namespace GUI::Model::JobItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_JOBITEMUTILS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_JOBITEMUTILS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_JOBITEMUTILS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_JOBITEMUTILS_H
 
 #include "Device/Detector/IDetector.h"
 #include "GUI/Util/ComboProperty.h"
@@ -46,4 +46,4 @@ ComboProperty availableUnits(const ICoordSystem& converter);
 
 } // namespace GUI::Model::JobItemUtils
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_JOBITEMUTILS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_JOBITEMUTILS_H
diff --git a/GUI/Model/Sample/Lattice2DItemCatalog.cpp b/GUI/Model/Item/Lattice2DItemCatalog.cpp
similarity index 92%
rename from GUI/Model/Sample/Lattice2DItemCatalog.cpp
rename to GUI/Model/Item/Lattice2DItemCatalog.cpp
index 1f49cb715ff4d156fdd9d2d42d98534a0da3f0f7..ae0279ddee5963344910924933bdbf455fac0483 100644
--- a/GUI/Model/Sample/Lattice2DItemCatalog.cpp
+++ b/GUI/Model/Item/Lattice2DItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/Lattice2DItemCatalog.cpp
+//! @file      GUI/Model/Item/Lattice2DItemCatalog.cpp
 //! @brief     Implements class Lattice2DItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/Lattice2DItemCatalog.h"
+#include "GUI/Model/Item/Lattice2DItemCatalog.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
 
 Lattice2DItemCatalog::CatalogedType* Lattice2DItemCatalog::create(Type type)
 {
diff --git a/GUI/Model/Sample/Lattice2DItemCatalog.h b/GUI/Model/Item/Lattice2DItemCatalog.h
similarity index 84%
rename from GUI/Model/Sample/Lattice2DItemCatalog.h
rename to GUI/Model/Item/Lattice2DItemCatalog.h
index a41a1d9fbd31afe87858ec1419c6a6b74fd21155..f0e8abb5897da3e2f08e9380ed56618e60b2d2e4 100644
--- a/GUI/Model/Sample/Lattice2DItemCatalog.h
+++ b/GUI/Model/Item/Lattice2DItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/Lattice2DItemCatalog.h
+//! @file      GUI/Model/Item/Lattice2DItemCatalog.h
 //! @brief     Defines class Lattice2DItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_LATTICE2DITEMCATALOG_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_LATTICE2DITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_LATTICE2DITEMCATALOG_H
+#define BORNAGAIN_GUI_MODEL_ITEM_LATTICE2DITEMCATALOG_H
 
 #include <QString>
 #include <QVector>
@@ -46,4 +46,4 @@ public:
     static Type type(const CatalogedType* item);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_LATTICE2DITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_LATTICE2DITEMCATALOG_H
diff --git a/GUI/Model/Sample/Lattice2DItems.cpp b/GUI/Model/Item/Lattice2DItems.cpp
similarity index 97%
rename from GUI/Model/Sample/Lattice2DItems.cpp
rename to GUI/Model/Item/Lattice2DItems.cpp
index 9e3d374b14a83957bf3482df472a1b6f028e95d0..15a7633b8e67f59585fe7f087afc25fedc395e4a 100644
--- a/GUI/Model/Sample/Lattice2DItems.cpp
+++ b/GUI/Model/Item/Lattice2DItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/Lattice2DItems.cpp
+//! @file      GUI/Model/Item/Lattice2DItems.cpp
 //! @brief     Implements classes Lattice2DItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/Lattice2DItems.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
 #include "Base/Const/Units.h"
 #include "Base/Util/Assert.h"
 #include "GUI/Model/XML/Serializer.h"
diff --git a/GUI/Model/Sample/Lattice2DItems.h b/GUI/Model/Item/Lattice2DItems.h
similarity index 94%
rename from GUI/Model/Sample/Lattice2DItems.h
rename to GUI/Model/Item/Lattice2DItems.h
index 02627dc2c15d2146fb6d7f1ee4664405eac7ec18..14aa150e6a1b17d4ec2d8216a61622eb1277e80d 100644
--- a/GUI/Model/Sample/Lattice2DItems.h
+++ b/GUI/Model/Item/Lattice2DItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/Lattice2DItems.h
+//! @file      GUI/Model/Item/Lattice2DItems.h
 //! @brief     Defines classes Lattice2DItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_LATTICE2DITEMS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_LATTICE2DITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_LATTICE2DITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_LATTICE2DITEMS_H
 
 #include "GUI/Model/Types/DoubleProperty.h"
 #include <QVector>
@@ -112,4 +112,4 @@ private:
     DoubleProperty m_length;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_LATTICE2DITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_LATTICE2DITEMS_H
diff --git a/GUI/Model/Sample/LayerItem.cpp b/GUI/Model/Item/LayerItem.cpp
similarity index 92%
rename from GUI/Model/Sample/LayerItem.cpp
rename to GUI/Model/Item/LayerItem.cpp
index 0e623a05b8fe7033788079193745dee2fdd16bf8..d0502c471d1ed3cef857375c6dce1f32d6b68061 100644
--- a/GUI/Model/Sample/LayerItem.cpp
+++ b/GUI/Model/Item/LayerItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/LayerItem.cpp
+//! @file      GUI/Model/Item/LayerItem.cpp
 //! @brief     Implements class LayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include <QColor>
 
 namespace {
diff --git a/GUI/Model/Sample/LayerItem.h b/GUI/Model/Item/LayerItem.h
similarity index 87%
rename from GUI/Model/Sample/LayerItem.h
rename to GUI/Model/Item/LayerItem.h
index f00cfb2f0b233a24ae478dedf89d62bd1c84d618..5d21ba10e3c3bde38cb679766e7c9512f75ad6da 100644
--- a/GUI/Model/Sample/LayerItem.h
+++ b/GUI/Model/Item/LayerItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/LayerItem.h
+//! @file      GUI/Model/Item/LayerItem.h
 //! @brief     Defines class LayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_LAYERITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_LAYERITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_LAYERITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_LAYERITEM_H
 
 #include "GUI/Model/Group/SelectionDescriptor.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
-#include "GUI/Model/Sample/LayerRoughnessItems.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
+#include "GUI/Model/Item/LayerRoughnessItems.h"
 #include "GUI/Model/Types/DoubleProperty.h"
 #include "GUI/Model/Types/UIntProperty.h"
 #include <QColor>
@@ -77,4 +77,4 @@ private:
     std::unique_ptr<LayerBasicRoughnessItem> m_topRoughness;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_LAYERITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_LAYERITEM_H
diff --git a/GUI/Model/Sample/LayerRoughnessItems.cpp b/GUI/Model/Item/LayerRoughnessItems.cpp
similarity index 94%
rename from GUI/Model/Sample/LayerRoughnessItems.cpp
rename to GUI/Model/Item/LayerRoughnessItems.cpp
index f3872eb796ed6bca1e81d5927b7307b7c1bd8602..fcdfd299af948c20bb4c419a28c058dcde1d42a4 100644
--- a/GUI/Model/Sample/LayerRoughnessItems.cpp
+++ b/GUI/Model/Item/LayerRoughnessItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/LayerRoughnessItems.cpp
+//! @file      GUI/Model/Item/LayerRoughnessItems.cpp
 //! @brief     Implements classes LayerRoughnessItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/LayerRoughnessItems.h"
+#include "GUI/Model/Item/LayerRoughnessItems.h"
 
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Model/XML/Serializer.h"
diff --git a/GUI/Model/Sample/LayerRoughnessItems.h b/GUI/Model/Item/LayerRoughnessItems.h
similarity index 81%
rename from GUI/Model/Sample/LayerRoughnessItems.h
rename to GUI/Model/Item/LayerRoughnessItems.h
index 27ae8b80c4fbac313f727dbaa02a635278f37f19..462d7ad6b694e05f791e1cc439465ab732b3af0f 100644
--- a/GUI/Model/Sample/LayerRoughnessItems.h
+++ b/GUI/Model/Item/LayerRoughnessItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/LayerRoughnessItems.h
+//! @file      GUI/Model/Item/LayerRoughnessItems.h
 //! @brief     Defines classes LayerRoughnessItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_LAYERROUGHNESSITEMS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_LAYERROUGHNESSITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_LAYERROUGHNESSITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_LAYERROUGHNESSITEMS_H
 
 #include "GUI/Model/Types/DoubleProperty.h"
 
@@ -36,4 +36,4 @@ private:
     DoubleProperty m_lateralCorrelationLength;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_LAYERROUGHNESSITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_LAYERROUGHNESSITEMS_H
diff --git a/GUI/Model/Mask/MaskItems.cpp b/GUI/Model/Item/MaskItems.cpp
similarity index 98%
rename from GUI/Model/Mask/MaskItems.cpp
rename to GUI/Model/Item/MaskItems.cpp
index 7447af9200e7b7801500a490bad6467a6bd40b0a..9f559ae02ac4501bdd82d14d30f969e6a4a9257c 100644
--- a/GUI/Model/Mask/MaskItems.cpp
+++ b/GUI/Model/Item/MaskItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Mask/MaskItems.cpp
+//! @file      GUI/Model/Item/MaskItems.cpp
 //! @brief     Implements MaskItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "Device/Mask/Ellipse.h"
 #include "Device/Mask/InfinitePlane.h"
 #include "Device/Mask/Line.h"
 #include "Device/Mask/Polygon.h"
 #include "Device/Mask/Rectangle.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Util/Error.h"
 
diff --git a/GUI/Model/Mask/MaskItems.h b/GUI/Model/Item/MaskItems.h
similarity index 95%
rename from GUI/Model/Mask/MaskItems.h
rename to GUI/Model/Item/MaskItems.h
index 506685b32edc698bdcffa02a378ff7b1cd65793b..845200522e68adaf6a011a697c04d21667e634e7 100644
--- a/GUI/Model/Mask/MaskItems.h
+++ b/GUI/Model/Item/MaskItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Mask/MaskItems.h
+//! @file      GUI/Model/Item/MaskItems.h
 //! @brief     Defines MaskItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_MASK_MASKITEMS_H
-#define BORNAGAIN_GUI_MODEL_MASK_MASKITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_MASKITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_MASKITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 
 class IShape2D;
@@ -199,4 +199,4 @@ public:
     void clear();
 };
 
-#endif // BORNAGAIN_GUI_MODEL_MASK_MASKITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_MASKITEMS_H
diff --git a/GUI/Model/Material/MaterialItem.cpp b/GUI/Model/Item/MaterialItem.cpp
similarity index 98%
rename from GUI/Model/Material/MaterialItem.cpp
rename to GUI/Model/Item/MaterialItem.cpp
index 63be35c3fad64f7c1f87209bab8e90ba034be7d6..30b8ee009c1c6829b1f806cfd2ce9c64f3d20d73 100644
--- a/GUI/Model/Material/MaterialItem.cpp
+++ b/GUI/Model/Item/MaterialItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Material/MaterialItem.cpp
+//! @file      GUI/Model/Item/MaterialItem.cpp
 //! @brief     Implements class MaterialItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Material/MaterialItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
 #include "Base/Util/Assert.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/Support/Data/XML.h"
diff --git a/GUI/Model/Material/MaterialItem.h b/GUI/Model/Item/MaterialItem.h
similarity index 94%
rename from GUI/Model/Material/MaterialItem.h
rename to GUI/Model/Item/MaterialItem.h
index 0e7f98910f36d21ecd1be7eaa0defbb1368ffb8e..372d06ce62baf65fef1c0b03abcfce6fd1b23ccb 100644
--- a/GUI/Model/Material/MaterialItem.h
+++ b/GUI/Model/Item/MaterialItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Material/MaterialItem.h
+//! @file      GUI/Model/Item/MaterialItem.h
 //! @brief     Defines class MaterialItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_MATERIAL_MATERIALITEM_H
-#define BORNAGAIN_GUI_MODEL_MATERIAL_MATERIALITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_MATERIALITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_MATERIALITEM_H
 
 #include <QColor>
 #include <QObject>
@@ -118,4 +118,4 @@ private:
     R3 m_magnetization;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_MATERIAL_MATERIALITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_MATERIALITEM_H
diff --git a/GUI/Model/Sample/MesoCrystalItem.cpp b/GUI/Model/Item/MesoCrystalItem.cpp
similarity index 91%
rename from GUI/Model/Sample/MesoCrystalItem.cpp
rename to GUI/Model/Item/MesoCrystalItem.cpp
index 76b29f3e607e4a5815de90f57111e06ec55b4825..1787253b2dd76dae6b0dbb027c4427c354756940 100644
--- a/GUI/Model/Sample/MesoCrystalItem.cpp
+++ b/GUI/Model/Item/MesoCrystalItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/MesoCrystalItem.cpp
+//! @file      GUI/Model/Item/MesoCrystalItem.cpp
 //! @brief     Implements class MesoCrystalItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/ItemWithParticlesCatalog.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/RotationItemCatalog.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/ItemWithParticlesCatalog.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/RotationItemCatalog.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "GUI/Util/Error.h"
 #include "Sample/Particle/Crystal.h"
diff --git a/GUI/Model/Sample/MesoCrystalItem.h b/GUI/Model/Item/MesoCrystalItem.h
similarity index 86%
rename from GUI/Model/Sample/MesoCrystalItem.h
rename to GUI/Model/Item/MesoCrystalItem.h
index 2273f7beead8f5efd9ebcc2336213751eb491bd8..a13b229f83d7ad4993fe984ee342d5d18f6b2728 100644
--- a/GUI/Model/Sample/MesoCrystalItem.h
+++ b/GUI/Model/Item/MesoCrystalItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/MesoCrystalItem.h
+//! @file      GUI/Model/Item/MesoCrystalItem.h
 //! @brief     Defines class MesoCrystalItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_MESOCRYSTALITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_MESOCRYSTALITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_MESOCRYSTALITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_MESOCRYSTALITEM_H
 
 #include "GUI/Model/Group/SelectionProperty.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/ItemWithParticles.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
 #include "GUI/Model/Types/VectorProperty.h"
 #include "Sample/Lattice/Lattice3D.h"
 #include <memory>
@@ -70,4 +70,4 @@ template <typename T> T* MesoCrystalItem::setOuterShapeType()
     return p;
 }
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_MESOCRYSTALITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_MESOCRYSTALITEM_H
diff --git a/GUI/Model/Fit/MinimizerItem.cpp b/GUI/Model/Item/MinimizerItem.cpp
similarity index 98%
rename from GUI/Model/Fit/MinimizerItem.cpp
rename to GUI/Model/Item/MinimizerItem.cpp
index 1a590e7ecc3326bac2430e03af76591320e76cd0..4b38d6555950b51a3e5121960af955b075c4b2cd 100644
--- a/GUI/Model/Fit/MinimizerItem.cpp
+++ b/GUI/Model/Item/MinimizerItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/MinimizerItem.cpp
+//! @file      GUI/Model/Item/MinimizerItem.cpp
 //! @brief     Implements MinimizerItem class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/MinimizerItem.h"
+#include "GUI/Model/Item/MinimizerItem.h"
 #include "Core/Fitting/ObjectiveMetric.h"
 #include "Core/Fitting/ObjectiveMetricUtils.h"
 #include "Fit/Adapter/GSLLevenbergMarquardtMinimizer.h"
@@ -20,7 +20,7 @@
 #include "Fit/Adapter/GeneticMinimizer.h"
 #include "Fit/Adapter/Minuit2Minimizer.h"
 #include "Fit/Adapter/SimAnMinimizer.h"
-#include "GUI/Model/Fit/MinimizerItemCatalog.h"
+#include "GUI/Model/Item/MinimizerItemCatalog.h"
 
 namespace {
 
diff --git a/GUI/Model/Fit/MinimizerItem.h b/GUI/Model/Item/MinimizerItem.h
similarity index 95%
rename from GUI/Model/Fit/MinimizerItem.h
rename to GUI/Model/Item/MinimizerItem.h
index 45935d037f55ca962273bd75c00947f59f5b3fba..4c740447c794fb2b2ea29e847f7747e3c46c34da 100644
--- a/GUI/Model/Fit/MinimizerItem.h
+++ b/GUI/Model/Item/MinimizerItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/MinimizerItem.h
+//! @file      GUI/Model/Item/MinimizerItem.h
 //! @brief     Defines MinimizerItem class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEM_H
-#define BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_MINIMIZERITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_MINIMIZERITEM_H
 
 #include "GUI/Model/Group/SelectionDescriptor.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include <variant>
@@ -147,4 +147,4 @@ public:
     ValueDescriptors valueDescriptorsForUI() const override;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_MINIMIZERITEM_H
diff --git a/GUI/Model/Fit/MinimizerItemCatalog.cpp b/GUI/Model/Item/MinimizerItemCatalog.cpp
similarity index 94%
rename from GUI/Model/Fit/MinimizerItemCatalog.cpp
rename to GUI/Model/Item/MinimizerItemCatalog.cpp
index 86e574c29068b8bf7ada70254a5d5db251d41b6a..28392c45098d30bb697fb18e196e1e53447761b4 100644
--- a/GUI/Model/Fit/MinimizerItemCatalog.cpp
+++ b/GUI/Model/Item/MinimizerItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/MinimizerItemCatalog.cpp
+//! @file      GUI/Model/Item/MinimizerItemCatalog.cpp
 //! @brief     Implements MinimizerItemCatalog class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/MinimizerItemCatalog.h"
+#include "GUI/Model/Item/MinimizerItemCatalog.h"
 #include "Fit/Kernel/MinimizerFactory.h"
 #include "GUI/Util/String.h"
 
diff --git a/GUI/Model/Fit/MinimizerItemCatalog.h b/GUI/Model/Item/MinimizerItemCatalog.h
similarity index 82%
rename from GUI/Model/Fit/MinimizerItemCatalog.h
rename to GUI/Model/Item/MinimizerItemCatalog.h
index c2ff0daadb0ecf6c48bb459a959c7fe982d82a46..3636d2d1e5cc05dd393b041829fd2e997b869782 100644
--- a/GUI/Model/Fit/MinimizerItemCatalog.h
+++ b/GUI/Model/Item/MinimizerItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/MinimizerItemCatalog.h
+//! @file      GUI/Model/Item/MinimizerItemCatalog.h
 //! @brief     Defines MinimizerItemCatalog class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEMCATALOG_H
-#define BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_MINIMIZERITEMCATALOG_H
+#define BORNAGAIN_GUI_MODEL_ITEM_MINIMIZERITEMCATALOG_H
 
 #include "GUI/Util/ComboProperty.h"
 
@@ -31,4 +31,4 @@ private:
     static QStringList algorithmDescriptions(const QString& minimizerType);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_MINIMIZERITEMCATALOG_H
diff --git a/GUI/Model/Sample/MultiLayerItem.cpp b/GUI/Model/Item/MultiLayerItem.cpp
similarity index 96%
rename from GUI/Model/Sample/MultiLayerItem.cpp
rename to GUI/Model/Item/MultiLayerItem.cpp
index 7a819d4636870e4a3ad6015977688c70ddc77527..49e82654a05a628a5d34a6242644adda197870c9 100644
--- a/GUI/Model/Sample/MultiLayerItem.cpp
+++ b/GUI/Model/Item/MultiLayerItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/MultiLayerItem.cpp
+//! @file      GUI/Model/Item/MultiLayerItem.cpp
 //! @brief     Implements class MultiLayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/LayerItem.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include <QXmlStreamWriter>
diff --git a/GUI/Model/Sample/MultiLayerItem.h b/GUI/Model/Item/MultiLayerItem.h
similarity index 90%
rename from GUI/Model/Sample/MultiLayerItem.h
rename to GUI/Model/Item/MultiLayerItem.h
index 6d60e94f8d2a5d54b61062b13644f057e09f3555..6f047a9e3ebeb5e863575309f8525d512f55bbc0 100644
--- a/GUI/Model/Sample/MultiLayerItem.h
+++ b/GUI/Model/Item/MultiLayerItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/MultiLayerItem.h
+//! @file      GUI/Model/Item/MultiLayerItem.h
 //! @brief     Defines class MultiLayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_MULTILAYERITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_MULTILAYERITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_MULTILAYERITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_MULTILAYERITEM_H
 
 #include "GUI/Model/Types/DoubleProperty.h"
 #include "GUI/Model/Types/VectorProperty.h"
@@ -70,4 +70,4 @@ private:
     QVector<LayerItem*> m_layers;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_MULTILAYERITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_MULTILAYERITEM_H
diff --git a/GUI/Model/Fit/ParameterTreeItems.cpp b/GUI/Model/Item/ParameterTreeItems.cpp
similarity index 96%
rename from GUI/Model/Fit/ParameterTreeItems.cpp
rename to GUI/Model/Item/ParameterTreeItems.cpp
index d6c158c3905ce851e40fcba0dc9ba9a6d4710809..2127bb2a96ddd1630dc52491146f417094723995 100644
--- a/GUI/Model/Fit/ParameterTreeItems.cpp
+++ b/GUI/Model/Item/ParameterTreeItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/ParameterTreeItems.cpp
+//! @file      GUI/Model/Item/ParameterTreeItems.cpp
 //! @brief     Implements classes for ParameterTreeItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/Support/Data/XML.h"
 #include "GUI/Util/DeserializationException.h"
diff --git a/GUI/Model/Fit/ParameterTreeItems.h b/GUI/Model/Item/ParameterTreeItems.h
similarity index 92%
rename from GUI/Model/Fit/ParameterTreeItems.h
rename to GUI/Model/Item/ParameterTreeItems.h
index e410c8864df9f95dfb7cbe1fe3355a613d899005..164f60576324ac4f5be203966dd8cb7ba9bd930d 100644
--- a/GUI/Model/Fit/ParameterTreeItems.h
+++ b/GUI/Model/Item/ParameterTreeItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/ParameterTreeItems.h
+//! @file      GUI/Model/Item/ParameterTreeItems.h
 //! @brief     Defines classes for ParameterTreeItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_PARAMETERTREEITEMS_H
-#define BORNAGAIN_GUI_MODEL_FIT_PARAMETERTREEITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_PARAMETERTREEITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_PARAMETERTREEITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include <QObject>
 
@@ -99,4 +99,4 @@ private:
     std::unique_ptr<QObject> m_parameterTreeRoot;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_PARAMETERTREEITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_PARAMETERTREEITEMS_H
diff --git a/GUI/Model/Sample/ParticleCompositionItem.cpp b/GUI/Model/Item/ParticleCompositionItem.cpp
similarity index 90%
rename from GUI/Model/Sample/ParticleCompositionItem.cpp
rename to GUI/Model/Item/ParticleCompositionItem.cpp
index 1a4d89831037b87d5ef6ebbf2457104e8ec42add..ddfeec5dcb39498c4d74a0f9c749137047fa65f5 100644
--- a/GUI/Model/Sample/ParticleCompositionItem.cpp
+++ b/GUI/Model/Item/ParticleCompositionItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleCompositionItem.cpp
+//! @file      GUI/Model/Item/ParticleCompositionItem.cpp
 //! @brief     Implements class ParticleCompositionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ItemWithParticlesCatalog.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/RotationItemCatalog.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ItemWithParticlesCatalog.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/RotationItemCatalog.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "Sample/Particle/MesoCrystal.h"
 #include "Sample/Particle/Particle.h"
diff --git a/GUI/Model/Sample/ParticleCompositionItem.h b/GUI/Model/Item/ParticleCompositionItem.h
similarity index 79%
rename from GUI/Model/Sample/ParticleCompositionItem.h
rename to GUI/Model/Item/ParticleCompositionItem.h
index 937ed92b0242c435649687fdd494be9ec9664278..552e5c93dadf5c6462918b6efb51070926ee9571 100644
--- a/GUI/Model/Sample/ParticleCompositionItem.h
+++ b/GUI/Model/Item/ParticleCompositionItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleCompositionItem.h
+//! @file      GUI/Model/Item/ParticleCompositionItem.h
 //! @brief     Defines class ParticleCompositionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLECOMPOSITIONITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLECOMPOSITIONITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_PARTICLECOMPOSITIONITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_PARTICLECOMPOSITIONITEM_H
 
-#include "GUI/Model/Sample/ItemWithParticles.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
 #include "Sample/Particle/ParticleComposition.h"
 #include <memory>
 
@@ -36,4 +36,4 @@ private:
     QVector<ItemWithParticles*> m_particles;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLECOMPOSITIONITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_PARTICLECOMPOSITIONITEM_H
diff --git a/GUI/Model/Sample/ParticleCoreShellItem.cpp b/GUI/Model/Item/ParticleCoreShellItem.cpp
similarity index 93%
rename from GUI/Model/Sample/ParticleCoreShellItem.cpp
rename to GUI/Model/Item/ParticleCoreShellItem.cpp
index 6d3c8e58d9c38a31eec898ad3312602d0eec8bb2..dc7c81f2c4e17696a9ff86835168cd8174d32c10 100644
--- a/GUI/Model/Sample/ParticleCoreShellItem.cpp
+++ b/GUI/Model/Item/ParticleCoreShellItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleCoreShellItem.cpp
+//! @file      GUI/Model/Item/ParticleCoreShellItem.cpp
 //! @brief     Implements class ParticleCoreShellItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/Support/Type/VariantUtil.h"
 #include "GUI/Util/Error.h"
 #include "Sample/Particle/Particle.h"
diff --git a/GUI/Model/Sample/ParticleCoreShellItem.h b/GUI/Model/Item/ParticleCoreShellItem.h
similarity index 81%
rename from GUI/Model/Sample/ParticleCoreShellItem.h
rename to GUI/Model/Item/ParticleCoreShellItem.h
index e2986b4ac3f11e1625d4cb9fc45e2dd0f63b5b5d..c2a6dacc8a582f19ec6c8825c03f3c40045fbce6 100644
--- a/GUI/Model/Sample/ParticleCoreShellItem.h
+++ b/GUI/Model/Item/ParticleCoreShellItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleCoreShellItem.h
+//! @file      GUI/Model/Item/ParticleCoreShellItem.h
 //! @brief     Defines class ParticleCoreShellItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLECORESHELLITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLECORESHELLITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_PARTICLECORESHELLITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_PARTICLECORESHELLITEM_H
 
-#include "GUI/Model/Sample/ItemWithParticles.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
 #include <memory>
 
 class ParticleCoreShell;
@@ -45,4 +45,4 @@ private:
     std::unique_ptr<ParticleItem> m_shell;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLECORESHELLITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_PARTICLECORESHELLITEM_H
diff --git a/GUI/Model/Sample/ParticleItem.cpp b/GUI/Model/Item/ParticleItem.cpp
similarity index 86%
rename from GUI/Model/Sample/ParticleItem.cpp
rename to GUI/Model/Item/ParticleItem.cpp
index f723c148db610bef41412c0f670414a950386808..e2ae46bcdd11377910e458a922082803aef65943 100644
--- a/GUI/Model/Sample/ParticleItem.cpp
+++ b/GUI/Model/Item/ParticleItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleItem.cpp
+//! @file      GUI/Model/Item/ParticleItem.cpp
 //! @brief     Implements class ParticleItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/RotationItemCatalog.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/RotationItemCatalog.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "Sample/Particle/Particle.h"
 #include "Sample/Scattering/Rotations.h"
diff --git a/GUI/Model/Sample/ParticleItem.h b/GUI/Model/Item/ParticleItem.h
similarity index 79%
rename from GUI/Model/Sample/ParticleItem.h
rename to GUI/Model/Item/ParticleItem.h
index 75315a62996dc4928426bd44fe797ae60657fc8d..9f1cb74b86bc83609b33f6eb88ff4b4f29c8cecb 100644
--- a/GUI/Model/Sample/ParticleItem.h
+++ b/GUI/Model/Item/ParticleItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleItem.h
+//! @file      GUI/Model/Item/ParticleItem.h
 //! @brief     Defines class ParticleItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLEITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLEITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_PARTICLEITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_PARTICLEITEM_H
 
 #include "GUI/Model/Group/SelectionProperty.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
-#include "GUI/Model/Sample/ItemWithParticles.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
 #include <memory>
 
 class GroupItem;
@@ -48,4 +48,4 @@ template <typename T> T* ParticleItem::setFormFactorType()
     return p;
 }
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLEITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_PARTICLEITEM_H
diff --git a/GUI/Model/Sample/ParticleLayoutItem.cpp b/GUI/Model/Item/ParticleLayoutItem.cpp
similarity index 90%
rename from GUI/Model/Sample/ParticleLayoutItem.cpp
rename to GUI/Model/Item/ParticleLayoutItem.cpp
index e43a7390a36bcc997710788055b33700427c4d7e..98326866077ad55c8552b83a126a3634ff2a4de6 100644
--- a/GUI/Model/Sample/ParticleLayoutItem.cpp
+++ b/GUI/Model/Item/ParticleLayoutItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleLayoutItem.cpp
+//! @file      GUI/Model/Item/ParticleLayoutItem.cpp
 //! @brief     Implements class ParticleLayoutItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Sample/InterferenceItemCatalog.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/ItemWithParticlesCatalog.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Item/InterferenceItemCatalog.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/ItemWithParticlesCatalog.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/Model/XML/Serializer.h"
 
 ParticleLayoutItem::ParticleLayoutItem()
diff --git a/GUI/Model/Sample/ParticleLayoutItem.h b/GUI/Model/Item/ParticleLayoutItem.h
similarity index 91%
rename from GUI/Model/Sample/ParticleLayoutItem.h
rename to GUI/Model/Item/ParticleLayoutItem.h
index b5789c263457fbfe9d6cf2daba5974c1a55e27b9..56d22de885a06118dfc2725f6816a4f64858e73e 100644
--- a/GUI/Model/Sample/ParticleLayoutItem.h
+++ b/GUI/Model/Item/ParticleLayoutItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/ParticleLayoutItem.h
+//! @file      GUI/Model/Item/ParticleLayoutItem.h
 //! @brief     Defines class ParticleLayoutItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLELAYOUTITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLELAYOUTITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_PARTICLELAYOUTITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_PARTICLELAYOUTITEM_H
 
 #include "GUI/Model/Group/SelectionProperty.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
+#include "GUI/Model/Item/InterferenceItems.h"
 #include "GUI/Model/Types/DoubleProperty.h"
 #include <QUuid>
 #include <memory>
@@ -78,4 +78,4 @@ private:
     QVector<ItemWithParticles*> m_particles;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_PARTICLELAYOUTITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_PARTICLELAYOUTITEM_H
diff --git a/GUI/Model/Ax/PointwiseAxisItem.cpp b/GUI/Model/Item/PointwiseAxisItem.cpp
similarity index 96%
rename from GUI/Model/Ax/PointwiseAxisItem.cpp
rename to GUI/Model/Item/PointwiseAxisItem.cpp
index a6269e1cf930adc60d19d75cc289bbec73dc8e1b..fc60404153614e150e5ec187407ca761e7680ffa 100644
--- a/GUI/Model/Ax/PointwiseAxisItem.cpp
+++ b/GUI/Model/Item/PointwiseAxisItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Ax/PointwiseAxisItem.cpp
+//! @file      GUI/Model/Item/PointwiseAxisItem.cpp
 //! @brief     Implements pointwise axis item
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
 #include "Base/Axis/PointwiseAxis.h"
 #include "Device/Coord/ICoordSystem.h"
 #include "Device/Data/OutputData.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 
 namespace {
 
diff --git a/GUI/Model/Ax/PointwiseAxisItem.h b/GUI/Model/Item/PointwiseAxisItem.h
similarity index 88%
rename from GUI/Model/Ax/PointwiseAxisItem.h
rename to GUI/Model/Item/PointwiseAxisItem.h
index c1ae2ed00f3cc0222133d2b9cab39bcea1f4c754..efa30fef2d69fb6bdffdf12ad84a90e95d9b31b8 100644
--- a/GUI/Model/Ax/PointwiseAxisItem.h
+++ b/GUI/Model/Item/PointwiseAxisItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Ax/PointwiseAxisItem.h
+//! @file      GUI/Model/Item/PointwiseAxisItem.h
 //! @brief     Defines pointwise axis item
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_AX_POINTWISEAXISITEM_H
-#define BORNAGAIN_GUI_MODEL_AX_POINTWISEAXISITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_POINTWISEAXISITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_POINTWISEAXISITEM_H
 
-#include "GUI/Model/Ax/AxesItems.h"
+#include "GUI/Model/Item/AxesItems.h"
 #include "GUI/Support/IO/SaveLoadInterface.h"
 
 class PointwiseAxis;
@@ -62,4 +62,4 @@ private:
     QDateTime m_last_modified;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_AX_POINTWISEAXISITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_POINTWISEAXISITEM_H
diff --git a/GUI/Model/Mask/ProjectionItems.cpp b/GUI/Model/Item/ProjectionItems.cpp
similarity index 86%
rename from GUI/Model/Mask/ProjectionItems.cpp
rename to GUI/Model/Item/ProjectionItems.cpp
index 94aa5d0e2ef8105a5c091895925d314a18618042..0b9d94bd1e91341d549074ff36fa38b6df94da5f 100644
--- a/GUI/Model/Mask/ProjectionItems.cpp
+++ b/GUI/Model/Item/ProjectionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Mask/ProjectionItems.cpp
+//! @file      GUI/Model/Item/ProjectionItems.cpp
 //! @brief     Implements items related to projections over color map.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Mask/ProjectionItems.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 
 ProjectionContainerItem::ProjectionContainerItem()
     : SessionItem(M_TYPE)
diff --git a/GUI/Model/Mask/ProjectionItems.h b/GUI/Model/Item/ProjectionItems.h
similarity index 77%
rename from GUI/Model/Mask/ProjectionItems.h
rename to GUI/Model/Item/ProjectionItems.h
index c3d9ee7e6dab750a7a4db1babf8c81e4797a7b51..951a44261dcd11efb0d800952f70711ebda360d7 100644
--- a/GUI/Model/Mask/ProjectionItems.h
+++ b/GUI/Model/Item/ProjectionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Mask/ProjectionItems.h
+//! @file      GUI/Model/Item/ProjectionItems.h
 //! @brief     Defines items related to projections over color map.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_MASK_PROJECTIONITEMS_H
-#define BORNAGAIN_GUI_MODEL_MASK_PROJECTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_PROJECTIONITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_PROJECTIONITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 //! A container to hold ProjectionItems, intended to store projections of color map on X, Y axes.
 
@@ -26,4 +26,4 @@ public:
     ProjectionContainerItem();
 };
 
-#endif // BORNAGAIN_GUI_MODEL_MASK_PROJECTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_PROJECTIONITEMS_H
diff --git a/GUI/Model/Session/PropertyItem.cpp b/GUI/Model/Item/PropertyItem.cpp
similarity index 86%
rename from GUI/Model/Session/PropertyItem.cpp
rename to GUI/Model/Item/PropertyItem.cpp
index 633796d342c4a8874bbf732cd851fec3eac3673b..4a8e953432f37810cdc920dd0301f2141824600b 100644
--- a/GUI/Model/Session/PropertyItem.cpp
+++ b/GUI/Model/Item/PropertyItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/PropertyItem.cpp
+//! @file      GUI/Model/Item/PropertyItem.cpp
 //! @brief     Implements class PropertyItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Session/PropertyItem.h"
+#include "GUI/Model/Item/PropertyItem.h"
 
 PropertyItem::PropertyItem()
     : SessionItem(M_TYPE)
diff --git a/GUI/Model/Session/PropertyItem.h b/GUI/Model/Item/PropertyItem.h
similarity index 73%
rename from GUI/Model/Session/PropertyItem.h
rename to GUI/Model/Item/PropertyItem.h
index b1f9a1d3a6628c14d24ecc1589d54adf9a5646b7..813774a07f15b68ff1f4bff2d3cc680a00a15863 100644
--- a/GUI/Model/Session/PropertyItem.h
+++ b/GUI/Model/Item/PropertyItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/PropertyItem.h
+//! @file      GUI/Model/Item/PropertyItem.h
 //! @brief     Defines class PropertyItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SESSION_PROPERTYITEM_H
-#define BORNAGAIN_GUI_MODEL_SESSION_PROPERTYITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_PROPERTYITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_PROPERTYITEM_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class BA_CORE_API_ PropertyItem : public SessionItem {
 public:
@@ -24,4 +24,4 @@ public:
     PropertyItem();
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SESSION_PROPERTYITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_PROPERTYITEM_H
diff --git a/GUI/Model/Data/RealDataItem.cpp b/GUI/Model/Item/RealDataItem.cpp
similarity index 96%
rename from GUI/Model/Data/RealDataItem.cpp
rename to GUI/Model/Item/RealDataItem.cpp
index 7df63d23628ef031309bbe11707d0b058e73911c..95ad790d4255fb2e107c9d2f1f213c11e8ee49b7 100644
--- a/GUI/Model/Data/RealDataItem.cpp
+++ b/GUI/Model/Item/RealDataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/RealDataItem.cpp
+//! @file      GUI/Model/Item/RealDataItem.cpp
 //! @brief     Implements class RealDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,16 +12,16 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Data/RealDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/JobItemUtils.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/Support/IO/AbstractDataLoader1D.h"
diff --git a/GUI/Model/Data/RealDataItem.h b/GUI/Model/Item/RealDataItem.h
similarity index 94%
rename from GUI/Model/Data/RealDataItem.h
rename to GUI/Model/Item/RealDataItem.h
index b3c37ed68ca081b6d0de8397d8e27d9a13921b36..bf5f4e1190c9c63840f2690c67f072c649be142c 100644
--- a/GUI/Model/Data/RealDataItem.h
+++ b/GUI/Model/Item/RealDataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/RealDataItem.h
+//! @file      GUI/Model/Item/RealDataItem.h
 //! @brief     Defines class RealDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_DATA_REALDATAITEM_H
-#define BORNAGAIN_GUI_MODEL_DATA_REALDATAITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_REALDATAITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_REALDATAITEM_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Support/IO/AbstractDataLoader.h"
 #include <QPointer>
 
@@ -126,4 +126,4 @@ private:
     std::unique_ptr<AbstractDataLoader> m_dataLoader;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_DATA_REALDATAITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_REALDATAITEM_H
diff --git a/GUI/Model/Session/RealLimitsItems.cpp b/GUI/Model/Item/RealLimitsItems.cpp
similarity index 97%
rename from GUI/Model/Session/RealLimitsItems.cpp
rename to GUI/Model/Item/RealLimitsItems.cpp
index 6995ac9ba6d00a9520d174b84c2235cadffbaae8..22acce32181f9fee5330b800d1e998eaf1a9c4ba 100644
--- a/GUI/Model/Session/RealLimitsItems.cpp
+++ b/GUI/Model/Item/RealLimitsItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/RealLimitsItems.cpp
+//! @file      GUI/Model/Item/RealLimitsItems.cpp
 //! @brief     Defines RealLimitsItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Session/RealLimitsItems.h"
+#include "GUI/Model/Item/RealLimitsItems.h"
 
 namespace {
 
diff --git a/GUI/Model/Session/RealLimitsItems.h b/GUI/Model/Item/RealLimitsItems.h
similarity index 91%
rename from GUI/Model/Session/RealLimitsItems.h
rename to GUI/Model/Item/RealLimitsItems.h
index 0e9f347796e7609259e38a638e032ac44e05c5d8..2d5ba6cf8e3b05442c8c05abb8b65924545eff89 100644
--- a/GUI/Model/Session/RealLimitsItems.h
+++ b/GUI/Model/Item/RealLimitsItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/RealLimitsItems.h
+//! @file      GUI/Model/Item/RealLimitsItems.h
 //! @brief     Defines RealLimitsItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SESSION_REALLIMITSITEMS_H
-#define BORNAGAIN_GUI_MODEL_SESSION_REALLIMITSITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_REALLIMITSITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_REALLIMITSITEMS_H
 
 #include <optional>
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class RealLimitsItem : public SessionItem {
 private:
@@ -89,4 +89,4 @@ public:
     using RealLimitsItem::setUpperLimit;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SESSION_REALLIMITSITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_REALLIMITSITEMS_H
diff --git a/GUI/Model/Instrument/RectangularDetectorItem.cpp b/GUI/Model/Item/RectangularDetectorItem.cpp
similarity index 98%
rename from GUI/Model/Instrument/RectangularDetectorItem.cpp
rename to GUI/Model/Item/RectangularDetectorItem.cpp
index e212696d248b8e3e1e2f1358e17a29ec50bac762..a65c265a5acb33e59fe6fa2612b77e3f5ec5fc08 100644
--- a/GUI/Model/Instrument/RectangularDetectorItem.cpp
+++ b/GUI/Model/Item/RectangularDetectorItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/RectangularDetectorItem.cpp
+//! @file      GUI/Model/Item/RectangularDetectorItem.cpp
 //! @brief     Implements class RectangularDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
 #include "Device/Detector/RectangularDetector.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/Util/Error.h"
 
diff --git a/GUI/Model/Instrument/RectangularDetectorItem.h b/GUI/Model/Item/RectangularDetectorItem.h
similarity index 89%
rename from GUI/Model/Instrument/RectangularDetectorItem.h
rename to GUI/Model/Item/RectangularDetectorItem.h
index 080f9ed1d9e35345b35b54dad8dabca728b9ae11..18db45df31a1d5128d9ab04eb1633f96ade591d4 100644
--- a/GUI/Model/Instrument/RectangularDetectorItem.h
+++ b/GUI/Model/Item/RectangularDetectorItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/RectangularDetectorItem.h
+//! @file      GUI/Model/Item/RectangularDetectorItem.h
 //! @brief     Defines class RectangularDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_RECTANGULARDETECTORITEM_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_RECTANGULARDETECTORITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_RECTANGULARDETECTORITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_RECTANGULARDETECTORITEM_H
 
-#include "GUI/Model/Instrument/DetectorItems.h"
+#include "GUI/Model/Item/DetectorItems.h"
 
 class BasicAxisItem;
 class VectorItem;
@@ -91,4 +91,4 @@ private:
     bool m_is_constructed;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_RECTANGULARDETECTORITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_RECTANGULARDETECTORITEM_H
diff --git a/GUI/Model/Instrument/ResolutionFunctionItems.cpp b/GUI/Model/Item/ResolutionFunctionItems.cpp
similarity index 95%
rename from GUI/Model/Instrument/ResolutionFunctionItems.cpp
rename to GUI/Model/Item/ResolutionFunctionItems.cpp
index ca22d2eefa12adc7ffc29a8b653ea0bfe00fa7e4..1f9f13f1650c16ec78e776081e987639a3b09f20 100644
--- a/GUI/Model/Instrument/ResolutionFunctionItems.cpp
+++ b/GUI/Model/Item/ResolutionFunctionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/ResolutionFunctionItems.cpp
+//! @file      GUI/Model/Item/ResolutionFunctionItems.cpp
 //! @brief     Implements family of ResolutionFunctionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/ResolutionFunctionItems.h"
+#include "GUI/Model/Item/ResolutionFunctionItems.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 
 ResolutionFunctionItem::ResolutionFunctionItem(const QString& name)
diff --git a/GUI/Model/Instrument/ResolutionFunctionItems.h b/GUI/Model/Item/ResolutionFunctionItems.h
similarity index 85%
rename from GUI/Model/Instrument/ResolutionFunctionItems.h
rename to GUI/Model/Item/ResolutionFunctionItems.h
index a321cd9fcd99cb77d4cc12f3ad27ed0f568e35bb..76a6c1f26c9555f6fbb3fe3e778fe439b0b66699 100644
--- a/GUI/Model/Instrument/ResolutionFunctionItems.h
+++ b/GUI/Model/Item/ResolutionFunctionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/ResolutionFunctionItems.h
+//! @file      GUI/Model/Item/ResolutionFunctionItems.h
 //! @brief     Defines family of ResolutionFunctionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONFUNCTIONITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONFUNCTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_RESOLUTIONFUNCTIONITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_RESOLUTIONFUNCTIONITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include <memory>
 
 class IResolutionFunction2D;
@@ -61,4 +61,4 @@ public:
     void setSigmaY(double sigma_y);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONFUNCTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_RESOLUTIONFUNCTIONITEMS_H
diff --git a/GUI/Model/Instrument/ResolutionItems.cpp b/GUI/Model/Item/ResolutionItems.cpp
similarity index 98%
rename from GUI/Model/Instrument/ResolutionItems.cpp
rename to GUI/Model/Item/ResolutionItems.cpp
index f0235e3db0a8b6d146f2d334823869b15d7d92f9..0d11c91ccdeabb001e7fcbfdf6a515ce4cbaa95b 100644
--- a/GUI/Model/Instrument/ResolutionItems.cpp
+++ b/GUI/Model/Item/ResolutionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/ResolutionItems.cpp
+//! @file      GUI/Model/Item/ResolutionItems.cpp
 //! @brief     Implements class ResolutionItem and several subclasses
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/ResolutionItems.h"
+#include "GUI/Model/Item/ResolutionItems.h"
 #include "GUI/Model/Group/GroupInfo.h"
-#include "GUI/Model/Session/RealLimitsItems.h"
+#include "GUI/Model/Item/RealLimitsItems.h"
 #include "Param/Distrib/Distributions.h"
 #include "Param/Distrib/RangedDistributions.h"
 #include <cmath>
diff --git a/GUI/Model/Instrument/ResolutionItems.h b/GUI/Model/Item/ResolutionItems.h
similarity index 95%
rename from GUI/Model/Instrument/ResolutionItems.h
rename to GUI/Model/Item/ResolutionItems.h
index 39465c79a18016136477e6d2931a9105a1e4d26b..ac4e7beeaedcc27141104955d40a079dd1fb877e 100644
--- a/GUI/Model/Instrument/ResolutionItems.h
+++ b/GUI/Model/Item/ResolutionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/ResolutionItems.h
+//! @file      GUI/Model/Item/ResolutionItems.h
 //! @brief     Defines class ResolutionItem and several subclasses
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONITEMS_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_RESOLUTIONITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_RESOLUTIONITEMS_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class IDistribution1D;
 class IRangedDistribution;
@@ -207,4 +207,4 @@ public:
     void setRightWidth(double right_width);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_RESOLUTIONITEMS_H
diff --git a/GUI/Model/Sample/RotationItemCatalog.cpp b/GUI/Model/Item/RotationItemCatalog.cpp
similarity index 93%
rename from GUI/Model/Sample/RotationItemCatalog.cpp
rename to GUI/Model/Item/RotationItemCatalog.cpp
index 72daf41bf4ed1905bb40844b0fcafb9c0cbead70..cee8d0aeb510859301117d36b3665e02632e07f0 100644
--- a/GUI/Model/Sample/RotationItemCatalog.cpp
+++ b/GUI/Model/Item/RotationItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/RotationItemCatalog.cpp
+//! @file      GUI/Model/Item/RotationItemCatalog.cpp
 //! @brief     Implements class RotationItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/RotationItemCatalog.h"
+#include "GUI/Model/Item/RotationItemCatalog.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Sample/RotationItems.h"
+#include "GUI/Model/Item/RotationItems.h"
 
 RotationItem* RotationItemCatalog::create(Type type)
 {
diff --git a/GUI/Model/Sample/RotationItemCatalog.h b/GUI/Model/Item/RotationItemCatalog.h
similarity index 86%
rename from GUI/Model/Sample/RotationItemCatalog.h
rename to GUI/Model/Item/RotationItemCatalog.h
index 973b280dd090776116f91937a3cb440f0327ff30..a1ace45d27a4a221b54f8dcb6309d61f27169641 100644
--- a/GUI/Model/Sample/RotationItemCatalog.h
+++ b/GUI/Model/Item/RotationItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/RotationItemCatalog.h
+//! @file      GUI/Model/Item/RotationItemCatalog.h
 //! @brief     Defines class RotationItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_ROTATIONITEMCATALOG_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_ROTATIONITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ROTATIONITEMCATALOG_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ROTATIONITEMCATALOG_H
 
 #include <QString>
 #include <QVector>
@@ -58,4 +58,4 @@ public:
     static Type type(const RotationItem* item);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_ROTATIONITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ROTATIONITEMCATALOG_H
diff --git a/GUI/Model/Sample/RotationItems.cpp b/GUI/Model/Item/RotationItems.cpp
similarity index 97%
rename from GUI/Model/Sample/RotationItems.cpp
rename to GUI/Model/Item/RotationItems.cpp
index 851fd6b972e1e68fdc9e1408cdb00627bfa647e2..0dbe71e1317abd740ed0511d206db2690e2157b0 100644
--- a/GUI/Model/Sample/RotationItems.cpp
+++ b/GUI/Model/Item/RotationItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/RotationItems.cpp
+//! @file      GUI/Model/Item/RotationItems.cpp
 //! @brief     Implements class RotationItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/RotationItems.h"
+#include "GUI/Model/Item/RotationItems.h"
 #include "Base/Const/Units.h"
 #include "Base/Vector/RotMatrix.h"
 #include "GUI/Model/XML/Serializer.h"
diff --git a/GUI/Model/Sample/RotationItems.h b/GUI/Model/Item/RotationItems.h
similarity index 92%
rename from GUI/Model/Sample/RotationItems.h
rename to GUI/Model/Item/RotationItems.h
index 4db570b4d68d9d5bbc40c478bb00913b820f02d0..91e453b74defdecc6bc51cc7f99651e90120bf28 100644
--- a/GUI/Model/Sample/RotationItems.h
+++ b/GUI/Model/Item/RotationItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/RotationItems.h
+//! @file      GUI/Model/Item/RotationItems.h
 //! @brief     Defines class RotationItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_ROTATIONITEMS_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_ROTATIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_ROTATIONITEMS_H
+#define BORNAGAIN_GUI_MODEL_ITEM_ROTATIONITEMS_H
 
 #include "GUI/Model/Types/DoubleProperty.h"
 #include <memory>
@@ -101,4 +101,4 @@ private:
     DoubleProperty m_gamma;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_ROTATIONITEMS_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_ROTATIONITEMS_H
diff --git a/GUI/Model/Sample/SampleItem.cpp b/GUI/Model/Item/SampleItem.cpp
similarity index 78%
rename from GUI/Model/Sample/SampleItem.cpp
rename to GUI/Model/Item/SampleItem.cpp
index 50195ad0b439c3b064d2e75db5876d3380b2b92a..911fd8ce92d2c3ff26dd637e2e732948e28d8d43 100644
--- a/GUI/Model/Sample/SampleItem.cpp
+++ b/GUI/Model/Item/SampleItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/SampleItem.cpp
+//! @file      GUI/Model/Item/SampleItem.cpp
 //! @brief     Implements class SampleItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/SampleItem.h"
-#include "GUI/Model/Sample/ItemWithParticles.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/SampleItem.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 
 SampleItem::SampleItem(SessionItem* item)
 {
diff --git a/GUI/Model/Sample/SampleItem.h b/GUI/Model/Item/SampleItem.h
similarity index 88%
rename from GUI/Model/Sample/SampleItem.h
rename to GUI/Model/Item/SampleItem.h
index a559d00b08e965f292d1dd230f7ef1bff6110e3c..29dca1e93c08a8e83e7cef96c6803fc9806d601c 100644
--- a/GUI/Model/Sample/SampleItem.h
+++ b/GUI/Model/Item/SampleItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/SampleItem.h
+//! @file      GUI/Model/Item/SampleItem.h
 //! @brief     Defines class SampleItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEITEM_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_SAMPLEITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_SAMPLEITEM_H
 
 #include <variant>
 
@@ -53,4 +53,4 @@ private:
     using base = VariantForSampleItems;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_SAMPLEITEM_H
diff --git a/GUI/Model/Session/SessionItem.cpp b/GUI/Model/Item/SessionItem.cpp
similarity index 98%
rename from GUI/Model/Session/SessionItem.cpp
rename to GUI/Model/Item/SessionItem.cpp
index 4a3d66e2b394c1e761734b46c91c082ac66c0192..e4dc6c6906ad54c27ba71e4543a8cb3fc322b568 100644
--- a/GUI/Model/Session/SessionItem.cpp
+++ b/GUI/Model/Item/SessionItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/SessionItem.cpp
+//! @file      GUI/Model/Item/SessionItem.cpp
 //! @brief     Implements class SessionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Catalog/ItemFactory.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Session/PropertyItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/ItemFactory.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/PropertyItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Support/Data/SessionFlags.h"
 #include "GUI/Support/Data/SessionItemData.h"
 #include "GUI/Support/Data/SessionItemTags.h"
diff --git a/GUI/Model/Session/SessionItem.h b/GUI/Model/Item/SessionItem.h
similarity index 98%
rename from GUI/Model/Session/SessionItem.h
rename to GUI/Model/Item/SessionItem.h
index 5fcf61d732623b40e446554fd485097b0a1e1d7b..e27f299dbc14bcd41217376b8027007238a2f1b5 100644
--- a/GUI/Model/Session/SessionItem.h
+++ b/GUI/Model/Item/SessionItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/SessionItem.h
+//! @file      GUI/Model/Item/SessionItem.h
 //! @brief     Defines class SessionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SESSION_SESSIONITEM_H
-#define BORNAGAIN_GUI_MODEL_SESSION_SESSIONITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_SESSIONITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_SESSIONITEM_H
 
 #include "Base/Util/Assert.h"
 #include "Fit/Param/RealLimits.h"
-#include "GUI/Model/Session/ModelMapper.h" // no forward declare, used too often
+#include "GUI/Model/Model/ModelMapper.h" // no forward declare, used too often
 #include "Wrap/WinDllMacros.h"
 #include <QStringList>
 #include <memory>
@@ -404,4 +404,4 @@ template <typename T> bool SessionItem::hasModelType() const
     return modelType() == T::M_TYPE;
 }
 
-#endif // BORNAGAIN_GUI_MODEL_SESSION_SESSIONITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_SESSIONITEM_H
diff --git a/GUI/Model/Instrument/SpecularBeamInclinationItem.cpp b/GUI/Model/Item/SpecularBeamInclinationItem.cpp
similarity index 95%
rename from GUI/Model/Instrument/SpecularBeamInclinationItem.cpp
rename to GUI/Model/Item/SpecularBeamInclinationItem.cpp
index 604543f00b7b34211f482a20a049cd7159e851a2..8c7bd81d3281bed9047a4863b25c3c468e85f8be 100644
--- a/GUI/Model/Instrument/SpecularBeamInclinationItem.cpp
+++ b/GUI/Model/Item/SpecularBeamInclinationItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/SpecularBeamInclinationItem.cpp
+//! @file      GUI/Model/Item/SpecularBeamInclinationItem.cpp
 //! @brief     Implements class SpecularBeamInclinationItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/SpecularBeamInclinationItem.h"
+#include "GUI/Model/Item/SpecularBeamInclinationItem.h"
 #include "Base/Const/Units.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Group/GroupItem.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/GroupItem.h"
 
 namespace {
 
diff --git a/GUI/Model/Instrument/SpecularBeamInclinationItem.h b/GUI/Model/Item/SpecularBeamInclinationItem.h
similarity index 81%
rename from GUI/Model/Instrument/SpecularBeamInclinationItem.h
rename to GUI/Model/Item/SpecularBeamInclinationItem.h
index 68818afc7634d5f86c80b5da53dd278aadf0d2bf..eea5865c40437318cef7bf1a0661dc8898b4aecf 100644
--- a/GUI/Model/Instrument/SpecularBeamInclinationItem.h
+++ b/GUI/Model/Item/SpecularBeamInclinationItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/SpecularBeamInclinationItem.h
+//! @file      GUI/Model/Item/SpecularBeamInclinationItem.h
 //! @brief     Declares the class SpecularBeamInclinationItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_SPECULARBEAMINCLINATIONITEM_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_SPECULARBEAMINCLINATIONITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_SPECULARBEAMINCLINATIONITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_SPECULARBEAMINCLINATIONITEM_H
 
-#include "GUI/Model/Instrument/BeamDistributionItem.h"
+#include "GUI/Model/Item/BeamDistributionItem.h"
 
 class BasicAxisItem;
 class GroupItem;
@@ -47,4 +47,4 @@ private:
     static const bool m_show_mean = false;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_SPECULARBEAMINCLINATIONITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_SPECULARBEAMINCLINATIONITEM_H
diff --git a/GUI/Model/Data/SpecularDataItem.cpp b/GUI/Model/Item/SpecularDataItem.cpp
similarity index 97%
rename from GUI/Model/Data/SpecularDataItem.cpp
rename to GUI/Model/Item/SpecularDataItem.cpp
index 86ece8f635251ad320e7d55643a38f7800383d99..d7732649fa2e12211dd20f2c0d9b9a1f6682f694 100644
--- a/GUI/Model/Data/SpecularDataItem.cpp
+++ b/GUI/Model/Item/SpecularDataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/SpecularDataItem.cpp
+//! @file      GUI/Model/Item/SpecularDataItem.cpp
 //! @brief     Implements class SpecularDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/JobItemUtils.h"
 #include "GUI/Support/IO/ImportDataInfo.h"
 #include "GUI/Util/Error.h"
 
diff --git a/GUI/Model/Data/SpecularDataItem.h b/GUI/Model/Item/SpecularDataItem.h
similarity index 91%
rename from GUI/Model/Data/SpecularDataItem.h
rename to GUI/Model/Item/SpecularDataItem.h
index ca8b8a9b8983f5c608b0e016093e109daee7a277..7cc10eee0ff7dbc47a692be533cb3b79e25d6cb7 100644
--- a/GUI/Model/Data/SpecularDataItem.h
+++ b/GUI/Model/Item/SpecularDataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/SpecularDataItem.h
+//! @file      GUI/Model/Item/SpecularDataItem.h
 //! @brief     Defines class SpecularDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_DATA_SPECULARDATAITEM_H
-#define BORNAGAIN_GUI_MODEL_DATA_SPECULARDATAITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_SPECULARDATAITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_SPECULARDATAITEM_H
 
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/DataItem.h"
 
 class AmplitudeAxisItem;
 class BasicAxisItem;
@@ -89,4 +89,4 @@ private:
     void updateAxesZoomLevel();
 };
 
-#endif // BORNAGAIN_GUI_MODEL_DATA_SPECULARDATAITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_SPECULARDATAITEM_H
diff --git a/GUI/Model/Instrument/SphericalDetectorItem.cpp b/GUI/Model/Item/SphericalDetectorItem.cpp
similarity index 95%
rename from GUI/Model/Instrument/SphericalDetectorItem.cpp
rename to GUI/Model/Item/SphericalDetectorItem.cpp
index 75c5b2056f49522544d90862ce838d92f121ac06..7edcf2d74aed5a1420593ef74d83a9d9d062a27e 100644
--- a/GUI/Model/Instrument/SphericalDetectorItem.cpp
+++ b/GUI/Model/Item/SphericalDetectorItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/SphericalDetectorItem.cpp
+//! @file      GUI/Model/Item/SphericalDetectorItem.cpp
 //! @brief     Implements class SphericalDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/SphericalDetectorItem.h"
+#include "GUI/Model/Item/SphericalDetectorItem.h"
 #include "Base/Const/Units.h"
 #include "Device/Detector/SphericalDetector.h"
-#include "GUI/Model/Ax/AxesItems.h"
+#include "GUI/Model/Item/AxesItems.h"
 
 SphericalDetectorItem::SphericalDetectorItem()
     : DetectorItem(M_TYPE)
diff --git a/GUI/Model/Instrument/SphericalDetectorItem.h b/GUI/Model/Item/SphericalDetectorItem.h
similarity index 81%
rename from GUI/Model/Instrument/SphericalDetectorItem.h
rename to GUI/Model/Item/SphericalDetectorItem.h
index c5f50bfa83ef05aba525d2281572741887da7826..49c68170d8b025696a1b726ac2760d933382fa33 100644
--- a/GUI/Model/Instrument/SphericalDetectorItem.h
+++ b/GUI/Model/Item/SphericalDetectorItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/SphericalDetectorItem.h
+//! @file      GUI/Model/Item/SphericalDetectorItem.h
 //! @brief     Defines class SphericalDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_SPHERICALDETECTORITEM_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_SPHERICALDETECTORITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_SPHERICALDETECTORITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_SPHERICALDETECTORITEM_H
 
-#include "GUI/Model/Instrument/DetectorItems.h"
+#include "GUI/Model/Item/DetectorItems.h"
 
 class BasicAxisItem;
 
@@ -45,4 +45,4 @@ protected:
     double axesToDomainUnitsFactor() const override;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_SPHERICALDETECTORITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_SPHERICALDETECTORITEM_H
diff --git a/GUI/Model/Types/VectorItem.cpp b/GUI/Model/Item/VectorItem.cpp
similarity index 96%
rename from GUI/Model/Types/VectorItem.cpp
rename to GUI/Model/Item/VectorItem.cpp
index 9e0bad1033d83a6f029b2999376422ad6adda834..e9a33572226f6b3e782f9c2a490ca3f4b35c8277 100644
--- a/GUI/Model/Types/VectorItem.cpp
+++ b/GUI/Model/Item/VectorItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Types/VectorItem.cpp
+//! @file      GUI/Model/Item/VectorItem.cpp
 //! @brief     Implements class VectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 
 VectorItem::VectorItem()
     : SessionItem(M_TYPE)
diff --git a/GUI/Model/Types/VectorItem.h b/GUI/Model/Item/VectorItem.h
similarity index 84%
rename from GUI/Model/Types/VectorItem.h
rename to GUI/Model/Item/VectorItem.h
index 97f9609b581510bd4d6f97b0fdd3a0eeb70e1d32..9ba365554ce9700eaaf0899af34cb1eea52309ae 100644
--- a/GUI/Model/Types/VectorItem.h
+++ b/GUI/Model/Item/VectorItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Types/VectorItem.h
+//! @file      GUI/Model/Item/VectorItem.h
 //! @brief     Defines class VectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_TYPES_VECTORITEM_H
-#define BORNAGAIN_GUI_MODEL_TYPES_VECTORITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_ITEM_VECTORITEM_H
+#define BORNAGAIN_GUI_MODEL_ITEM_VECTORITEM_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include <heinz/Vectors3D.h>
 
 class BA_CORE_API_ VectorItem : public SessionItem {
@@ -50,4 +50,4 @@ private:
     void updateLabel();
 };
 
-#endif // BORNAGAIN_GUI_MODEL_TYPES_VECTORITEM_H
+#endif // BORNAGAIN_GUI_MODEL_ITEM_VECTORITEM_H
diff --git a/GUI/Model/Mask/MaskUnitsConverter.cpp b/GUI/Model/Mask/MaskUnitsConverter.cpp
index 53bbcd9a3beea0c6908f6e206ef1a9124e5b5eb9..3ff34fe16c455009137f99d432df075c49ac6520 100644
--- a/GUI/Model/Mask/MaskUnitsConverter.cpp
+++ b/GUI/Model/Mask/MaskUnitsConverter.cpp
@@ -14,9 +14,9 @@
 
 #include "GUI/Model/Mask/MaskUnitsConverter.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
 
 #include <boost/polymorphic_cast.hpp>
 
diff --git a/GUI/Model/Project/ApplicationModels.cpp b/GUI/Model/Model/ApplicationModels.cpp
similarity index 93%
rename from GUI/Model/Project/ApplicationModels.cpp
rename to GUI/Model/Model/ApplicationModels.cpp
index 46150d68785e8c9898650b11b7e29f5c4c67b82c..4b55501d17e94c5fc875c8656a4bceb3efc36095 100644
--- a/GUI/Model/Project/ApplicationModels.cpp
+++ b/GUI/Model/Model/ApplicationModels.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Project/ApplicationModels.cpp
+//! @file      GUI/Model/Model/ApplicationModels.cpp
 //! @brief     Defines class holding all application models
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Project/ApplicationModels.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Model/ApplicationModels.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include "GUI/Util/DeserializationException.h"
 #include <QXmlStreamWriter>
diff --git a/GUI/Model/Project/ApplicationModels.h b/GUI/Model/Model/ApplicationModels.h
similarity index 87%
rename from GUI/Model/Project/ApplicationModels.h
rename to GUI/Model/Model/ApplicationModels.h
index abae4bfb21135acd4652a9bdadfb304fc8350783..f7811935bb27e5f0265f5b1fcc28c6aed8a99bdb 100644
--- a/GUI/Model/Project/ApplicationModels.h
+++ b/GUI/Model/Model/ApplicationModels.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Project/ApplicationModels.h
+//! @file      GUI/Model/Model/ApplicationModels.h
 //! @brief     Defines class holding all application models
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_PROJECT_APPLICATIONMODELS_H
-#define BORNAGAIN_GUI_MODEL_PROJECT_APPLICATIONMODELS_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_APPLICATIONMODELS_H
+#define BORNAGAIN_GUI_MODEL_MODEL_APPLICATIONMODELS_H
 
 #include <QObject>
 
@@ -57,4 +57,4 @@ private:
     JobModel* m_jobModel;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_PROJECT_APPLICATIONMODELS_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_APPLICATIONMODELS_H
diff --git a/GUI/Model/Fit/FitParameterModel.cpp b/GUI/Model/Model/FitParameterModel.cpp
similarity index 97%
rename from GUI/Model/Fit/FitParameterModel.cpp
rename to GUI/Model/Model/FitParameterModel.cpp
index 4107cc32f0c4db3f0bc5f0425edb4930c0d5af8d..0dfa6c7b4d23de27fa583f9820ad0768afcfca10 100644
--- a/GUI/Model/Fit/FitParameterModel.cpp
+++ b/GUI/Model/Model/FitParameterModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterModel.cpp
+//! @file      GUI/Model/Model/FitParameterModel.cpp
 //! @brief     Implements class FitParameterAbsModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/FitParameterModel.h"
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
+#include "GUI/Model/Model/FitParameterModel.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
 #include "GUI/Model/Fit/FitParameterHelper.h"
-#include "GUI/Model/Fit/FitParameterItem.h"
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Session/ModelPath.h"
+#include "GUI/Model/Item/FitParameterItem.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Model/ModelPath.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include "GUI/Util/Error.h"
 #include <QColor>
diff --git a/GUI/Model/Fit/FitParameterModel.h b/GUI/Model/Model/FitParameterModel.h
similarity index 93%
rename from GUI/Model/Fit/FitParameterModel.h
rename to GUI/Model/Model/FitParameterModel.h
index f4061e34a6c77df588a0f8f4cb45561140f4451a..fcfb7285142f7ba17effae58f6415f9f9f62ba7e 100644
--- a/GUI/Model/Fit/FitParameterModel.h
+++ b/GUI/Model/Model/FitParameterModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/FitParameterModel.h
+//! @file      GUI/Model/Model/FitParameterModel.h
 //! @brief     Defines class FitParameterModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERMODEL_H
-#define BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_FITPARAMETERMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_FITPARAMETERMODEL_H
 
 #include <QAbstractItemModel>
 #include <QStringList>
@@ -85,4 +85,4 @@ inline Qt::DropActions FitParameterModel::supportedDropActions() const
     return Qt::MoveAction | Qt::CopyAction;
 }
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_FITPARAMETERMODEL_H
diff --git a/GUI/Model/Instrument/InstrumentModel.cpp b/GUI/Model/Model/InstrumentModel.cpp
similarity index 96%
rename from GUI/Model/Instrument/InstrumentModel.cpp
rename to GUI/Model/Model/InstrumentModel.cpp
index a4d0128584f923214db3eaaf5d03054e2d8af6de..742eca146bd5622f259471c16b16b56e82b6422a 100644
--- a/GUI/Model/Instrument/InstrumentModel.cpp
+++ b/GUI/Model/Model/InstrumentModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/InstrumentModel.cpp
+//! @file      GUI/Model/Model/InstrumentModel.cpp
 //! @brief     Implements class InstrumentModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include "GUI/Util/String.h"
 
diff --git a/GUI/Model/Instrument/InstrumentModel.h b/GUI/Model/Model/InstrumentModel.h
similarity index 88%
rename from GUI/Model/Instrument/InstrumentModel.h
rename to GUI/Model/Model/InstrumentModel.h
index 7dd9a8cdd80212a31389d55044ed51d3268e96f6..dd628993d4754795f204ca2f96246ba39bd6cbd7 100644
--- a/GUI/Model/Instrument/InstrumentModel.h
+++ b/GUI/Model/Model/InstrumentModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Instrument/InstrumentModel.h
+//! @file      GUI/Model/Model/InstrumentModel.h
 //! @brief     Defines class InstrumentModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTMODEL_H
-#define BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_INSTRUMENTMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_INSTRUMENTMODEL_H
 
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include <functional>
 
 class InstrumentItem;
@@ -63,4 +63,4 @@ private:
     void onInstrumentPropertyChange(const InstrumentItem* instrument, const QString& propertyName);
 };
 
-#endif // BORNAGAIN_GUI_MODEL_INSTRUMENT_INSTRUMENTMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_INSTRUMENTMODEL_H
diff --git a/GUI/Model/Project/JobModel.cpp b/GUI/Model/Model/JobModel.cpp
similarity index 92%
rename from GUI/Model/Project/JobModel.cpp
rename to GUI/Model/Model/JobModel.cpp
index 5a4c34400fe96556c6731d2f3ab4f548e7286365..50982a31d77c59fd2a75c01f9612c98115c3e601 100644
--- a/GUI/Model/Project/JobModel.cpp
+++ b/GUI/Model/Model/JobModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Project/JobModel.cpp
+//! @file      GUI/Model/Model/JobModel.cpp
 //! @brief     Implements class JobModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,17 +12,17 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Project/JobModelFunctions.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/JobModelFunctions.h"
 #include "GUI/Model/Project/JobQueueData.h"
 #include "GUI/Model/Project/ParameterTreeUtils.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/Model/XML/SessionXML.h"
 
 JobModel::JobModel(QObject* parent)
diff --git a/GUI/Model/Project/JobModel.h b/GUI/Model/Model/JobModel.h
similarity index 88%
rename from GUI/Model/Project/JobModel.h
rename to GUI/Model/Model/JobModel.h
index edede5667dedcaef90ef1681e4d57e672757aeca..5985312ded43b3d6a302f6b0b3f76daec396985a 100644
--- a/GUI/Model/Project/JobModel.h
+++ b/GUI/Model/Model/JobModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Project/JobModel.h
+//! @file      GUI/Model/Model/JobModel.h
 //! @brief     Defines class JobModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_PROJECT_JOBMODEL_H
-#define BORNAGAIN_GUI_MODEL_PROJECT_JOBMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_JOBMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_JOBMODEL_H
 
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/SessionModel.h"
 
 class InstrumentItem;
 class JobItem;
@@ -60,4 +60,4 @@ private:
     JobQueueData* m_queue_data;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_PROJECT_JOBMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_JOBMODEL_H
diff --git a/GUI/Model/Project/JobModelFunctions.cpp b/GUI/Model/Model/JobModelFunctions.cpp
similarity index 92%
rename from GUI/Model/Project/JobModelFunctions.cpp
rename to GUI/Model/Model/JobModelFunctions.cpp
index d4cd9af2cbeabd0087071a046baedf425ceb1df7..bef5fb5d54b83aeb8a3399ca01eb49f32081a17c 100644
--- a/GUI/Model/Project/JobModelFunctions.cpp
+++ b/GUI/Model/Model/JobModelFunctions.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Project/JobModelFunctions.cpp
+//! @file      GUI/Model/Model/JobModelFunctions.cpp
 //! @brief     Implements auxiliary functions in JobModelFunctions namespace.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,22 +12,22 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Project/JobModelFunctions.h"
+#include "GUI/Model/Model/JobModelFunctions.h"
 #include "Base/Util/Assert.h"
 #include "Device/Instrument/Instrument.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/MinimizerItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/MinimizerItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/JobItemUtils.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
 #include "GUI/Model/Plot/DataPropertyContainer.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
 #include "GUI/Support/IO/ItemFileNameUtils.h"
 #include "GUI/Util/Error.h"
 #include "GUI/Util/Path.h"
diff --git a/GUI/Model/Project/JobModelFunctions.h b/GUI/Model/Model/JobModelFunctions.h
similarity index 87%
rename from GUI/Model/Project/JobModelFunctions.h
rename to GUI/Model/Model/JobModelFunctions.h
index 010467c7bb893087de3cc9443b08a322ad063393..6f6cd61d2d3e1b8c2ce8d5dd66300e7f951773d5 100644
--- a/GUI/Model/Project/JobModelFunctions.h
+++ b/GUI/Model/Model/JobModelFunctions.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Project/JobModelFunctions.h
+//! @file      GUI/Model/Model/JobModelFunctions.h
 //! @brief     Defines auxiliary functions in namespace GUI::Model::JobModelFunctions.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_PROJECT_JOBMODELFUNCTIONS_H
-#define BORNAGAIN_GUI_MODEL_PROJECT_JOBMODELFUNCTIONS_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_JOBMODELFUNCTIONS_H
+#define BORNAGAIN_GUI_MODEL_MODEL_JOBMODELFUNCTIONS_H
 
 class InstrumentItem;
 class JobItem;
@@ -44,4 +44,4 @@ void copyRealDataItem(JobItem* jobItem, const RealDataItem* realDataItem);
 
 } // namespace GUI::Model::JobFunctions
 
-#endif // BORNAGAIN_GUI_MODEL_PROJECT_JOBMODELFUNCTIONS_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_JOBMODELFUNCTIONS_H
diff --git a/GUI/Model/Material/MaterialModel.cpp b/GUI/Model/Model/MaterialModel.cpp
similarity index 97%
rename from GUI/Model/Material/MaterialModel.cpp
rename to GUI/Model/Model/MaterialModel.cpp
index d23071c416f5a4446082383e0162d355dabd4d58..e1297626aee177e832d5dd493d38dd680b521f56 100644
--- a/GUI/Model/Material/MaterialModel.cpp
+++ b/GUI/Model/Model/MaterialModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Material/MaterialModel.cpp
+//! @file      GUI/Model/Model/MaterialModel.cpp
 //! @brief     Implements class MaterialModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Material/MaterialModel.h"
+#include "GUI/Model/Model/MaterialModel.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Material/MaterialItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
 #include "GUI/Support/Data/XML.h"
 #include "GUI/Util/DeserializationException.h"
 #include <QColor>
diff --git a/GUI/Model/Material/MaterialModel.h b/GUI/Model/Model/MaterialModel.h
similarity index 92%
rename from GUI/Model/Material/MaterialModel.h
rename to GUI/Model/Model/MaterialModel.h
index 96ff5b68f7214ef40b3364750463dab798b2a696..491efd791f556ec00285dacf8148f3eedc61178c 100644
--- a/GUI/Model/Material/MaterialModel.h
+++ b/GUI/Model/Model/MaterialModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Material/MaterialModel.h
+//! @file      GUI/Model/Model/MaterialModel.h
 //! @brief     Defines class MaterialModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_MATERIAL_MATERIALMODEL_H
-#define BORNAGAIN_GUI_MODEL_MATERIAL_MATERIALMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_MATERIALMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_MATERIALMODEL_H
 
 #include <QObject>
 #include <QVector>
@@ -79,4 +79,4 @@ private:
     QVector<MaterialItem*> m_materialItems; //!< all materials (owned by this class)
 };
 
-#endif // BORNAGAIN_GUI_MODEL_MATERIAL_MATERIALMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_MATERIALMODEL_H
diff --git a/GUI/Model/Session/ModelMapper.cpp b/GUI/Model/Model/ModelMapper.cpp
similarity index 98%
rename from GUI/Model/Session/ModelMapper.cpp
rename to GUI/Model/Model/ModelMapper.cpp
index d7655d4c8aeb6a5b39573630292891a2a3f7389f..848a504da0d3aaa5d8ad2f4bee52316d071bc701 100644
--- a/GUI/Model/Session/ModelMapper.cpp
+++ b/GUI/Model/Model/ModelMapper.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/ModelMapper.cpp
+//! @file      GUI/Model/Model/ModelMapper.cpp
 //! @brief     Implements class ModelMapper
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Session/ModelMapper.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/ModelMapper.h"
+#include "GUI/Model/Model/SessionModel.h"
 
 ModelMapper::ModelMapper(QObject* parent)
     : QObject(parent)
diff --git a/GUI/Model/Session/ModelMapper.h b/GUI/Model/Model/ModelMapper.h
similarity index 95%
rename from GUI/Model/Session/ModelMapper.h
rename to GUI/Model/Model/ModelMapper.h
index 6a70a8309fa177d98586a1ff8c847833bb93c012..f56e087212d810981b1c726fbe3e9b30fbb3f201 100644
--- a/GUI/Model/Session/ModelMapper.h
+++ b/GUI/Model/Model/ModelMapper.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/ModelMapper.h
+//! @file      GUI/Model/Model/ModelMapper.h
 //! @brief     Defines class ModelMapper
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SESSION_MODELMAPPER_H
-#define BORNAGAIN_GUI_MODEL_SESSION_MODELMAPPER_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_MODELMAPPER_H
+#define BORNAGAIN_GUI_MODEL_MODEL_MODELMAPPER_H
 
 #include <QModelIndex>
 #include <functional>
@@ -109,4 +109,4 @@ template <class U> inline void ModelMapper::clean_container(U& v, const void* ca
             v.end());
 }
 
-#endif // BORNAGAIN_GUI_MODEL_SESSION_MODELMAPPER_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_MODELMAPPER_H
diff --git a/GUI/Model/Session/ModelPath.cpp b/GUI/Model/Model/ModelPath.cpp
similarity index 90%
rename from GUI/Model/Session/ModelPath.cpp
rename to GUI/Model/Model/ModelPath.cpp
index aa09e9895a4ffb133ef94fef1f3e57455671f14a..c47099203a54378bfc243c22086405c74c15e0de 100644
--- a/GUI/Model/Session/ModelPath.cpp
+++ b/GUI/Model/Model/ModelPath.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/ModelPath.cpp
+//! @file      GUI/Model/Model/ModelPath.cpp
 //! @brief     Implements class ModelPath
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Session/ModelPath.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/ModelPath.h"
+#include "GUI/Model/Model/SessionModel.h"
 
 //! Iterates through all the model and returns true if item is found. This is to
 
diff --git a/GUI/Model/Session/ModelPath.h b/GUI/Model/Model/ModelPath.h
similarity index 84%
rename from GUI/Model/Session/ModelPath.h
rename to GUI/Model/Model/ModelPath.h
index 121df21c34a034edcd28624b610e9f6b85ac46cd..50d2fa454e01ebc5657951177dc3252130aa9761 100644
--- a/GUI/Model/Session/ModelPath.h
+++ b/GUI/Model/Model/ModelPath.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/ModelPath.h
+//! @file      GUI/Model/Model/ModelPath.h
 //! @brief     Defines namespace GUI::Model::Path
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SESSION_MODELPATH_H
-#define BORNAGAIN_GUI_MODEL_SESSION_MODELPATH_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_MODELPATH_H
+#define BORNAGAIN_GUI_MODEL_MODEL_MODELPATH_H
 
 #include <QString>
 #include <memory>
@@ -34,4 +34,4 @@ SessionItem* ancestor(SessionItem* item, const QString& requiredModelType);
 
 } // namespace GUI::Model::Path
 
-#endif // BORNAGAIN_GUI_MODEL_SESSION_MODELPATH_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_MODELPATH_H
diff --git a/GUI/Model/Fit/ParameterTuningModel.cpp b/GUI/Model/Model/ParameterTuningModel.cpp
similarity index 96%
rename from GUI/Model/Fit/ParameterTuningModel.cpp
rename to GUI/Model/Model/ParameterTuningModel.cpp
index e26f7be1a4b09b646db33a47f04f5a66731f2979..490b5bf727f2be32277ecdc152d424f0cd39b869 100644
--- a/GUI/Model/Fit/ParameterTuningModel.cpp
+++ b/GUI/Model/Model/ParameterTuningModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/ParameterTuningModel.cpp
+//! @file      GUI/Model/Model/ParameterTuningModel.cpp
 //! @brief     Implements class ParameterTuningModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Fit/ParameterTuningModel.h"
+#include "GUI/Model/Model/ParameterTuningModel.h"
 #include "GUI/Model/Fit/FitParameterHelper.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include <QMimeData>
 
diff --git a/GUI/Model/Fit/ParameterTuningModel.h b/GUI/Model/Model/ParameterTuningModel.h
similarity index 90%
rename from GUI/Model/Fit/ParameterTuningModel.h
rename to GUI/Model/Model/ParameterTuningModel.h
index 048f9bbdfaf5e00c422006e509f0e21077e07ae0..dda681b88c28d90b79edcded562258cfcec3dd71 100644
--- a/GUI/Model/Fit/ParameterTuningModel.h
+++ b/GUI/Model/Model/ParameterTuningModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Fit/ParameterTuningModel.h
+//! @file      GUI/Model/Model/ParameterTuningModel.h
 //! @brief     Defines class ParameterTuningModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_FIT_PARAMETERTUNINGMODEL_H
-#define BORNAGAIN_GUI_MODEL_FIT_PARAMETERTUNINGMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_PARAMETERTUNINGMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_PARAMETERTUNINGMODEL_H
 
 class ParameterItem;
 class ParameterLabelItem;
@@ -57,4 +57,4 @@ private:
     QObject* m_rootObject;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_FIT_PARAMETERTUNINGMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_PARAMETERTUNINGMODEL_H
diff --git a/GUI/Model/Data/RealDataModel.cpp b/GUI/Model/Model/RealDataModel.cpp
similarity index 95%
rename from GUI/Model/Data/RealDataModel.cpp
rename to GUI/Model/Model/RealDataModel.cpp
index e560e6e3a59992a2b09cd87261ba4ac90d9980a5..1e87c930b201a16f7994bf72ccee66930d1670a1 100644
--- a/GUI/Model/Data/RealDataModel.cpp
+++ b/GUI/Model/Model/RealDataModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/RealDataModel.cpp
+//! @file      GUI/Model/Model/RealDataModel.cpp
 //! @brief     Implements class RealDataModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "GUI/Model/XML/SessionXML.h"
 
 RealDataModel::RealDataModel(QObject* parent)
diff --git a/GUI/Model/Data/RealDataModel.h b/GUI/Model/Model/RealDataModel.h
similarity index 87%
rename from GUI/Model/Data/RealDataModel.h
rename to GUI/Model/Model/RealDataModel.h
index c8df8eaa248b4472b895b026d73994df59485c35..7c965ceb7bbcf68267bb13b8d27eedb2c3785497 100644
--- a/GUI/Model/Data/RealDataModel.h
+++ b/GUI/Model/Model/RealDataModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Data/RealDataModel.h
+//! @file      GUI/Model/Model/RealDataModel.h
 //! @brief     Defines class RealDataModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_DATA_REALDATAMODEL_H
-#define BORNAGAIN_GUI_MODEL_DATA_REALDATAMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_REALDATAMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_REALDATAMODEL_H
 
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/SessionModel.h"
 
 class RealDataItem;
 
@@ -53,4 +53,4 @@ private:
     using SessionModel::removeRows;   //< hiding this from usage - deprecated!
 };
 
-#endif // BORNAGAIN_GUI_MODEL_DATA_REALDATAMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_REALDATAMODEL_H
diff --git a/GUI/Model/Sample/SampleModel.cpp b/GUI/Model/Model/SampleModel.cpp
similarity index 89%
rename from GUI/Model/Sample/SampleModel.cpp
rename to GUI/Model/Model/SampleModel.cpp
index 9761cc1b5e0aa965523b2992d9dbf2886d9bb62d..f4c8700d0a9842f8ded50170494ed2da47226a13 100644
--- a/GUI/Model/Sample/SampleModel.cpp
+++ b/GUI/Model/Model/SampleModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/SampleModel.cpp
+//! @file      GUI/Model/Model/SampleModel.cpp
 //! @brief     Implements class SampleModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Sample/SampleModel.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Model/SampleModel.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/Model/XML/Serializer.h"
 #include <QApplication>
 
diff --git a/GUI/Model/Sample/SampleModel.h b/GUI/Model/Model/SampleModel.h
similarity index 86%
rename from GUI/Model/Sample/SampleModel.h
rename to GUI/Model/Model/SampleModel.h
index 0eb16794310c34805231a162e211c5c1bf9b7290..ddb4cc45709c7bb9bd5681322c478e2872163b51 100644
--- a/GUI/Model/Sample/SampleModel.h
+++ b/GUI/Model/Model/SampleModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Sample/SampleModel.h
+//! @file      GUI/Model/Model/SampleModel.h
 //! @brief     Defines class SampleModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEMODEL_H
-#define BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_SAMPLEMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_SAMPLEMODEL_H
 
 #include <QVector>
 
@@ -46,4 +46,4 @@ private:
     QVector<MultiLayerItem*> m_multiLayers;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_SAMPLEMODEL_H
diff --git a/GUI/Model/Session/SessionModel.cpp b/GUI/Model/Model/SessionModel.cpp
similarity index 98%
rename from GUI/Model/Session/SessionModel.cpp
rename to GUI/Model/Model/SessionModel.cpp
index c0539e9c7d03d5ddc36b48b41851f18847ebaf7e..0dfe54b2602275c0c168610d4c5752590fc8f7c3 100644
--- a/GUI/Model/Session/SessionModel.cpp
+++ b/GUI/Model/Model/SessionModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/SessionModel.cpp
+//! @file      GUI/Model/Model/SessionModel.cpp
 //! @brief     Implements class SessionModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/Session/SessionModel.h"
-#include "GUI/Model/Catalog/ItemFactory.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Model/SessionModel.h"
+#include "GUI/Model/Item/ItemFactory.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include "GUI/Support/Data/SessionFlags.h"
 #include "GUI/Support/Data/SessionItemTags.h"
diff --git a/GUI/Model/Session/SessionModel.h b/GUI/Model/Model/SessionModel.h
similarity index 97%
rename from GUI/Model/Session/SessionModel.h
rename to GUI/Model/Model/SessionModel.h
index abe8d5cc39fc73201149bb9b8eb115f14faa3095..63dfa2642f889bc5694be0c6d64175aea3f1da1c 100644
--- a/GUI/Model/Session/SessionModel.h
+++ b/GUI/Model/Model/SessionModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/Session/SessionModel.h
+//! @file      GUI/Model/Model/SessionModel.h
 //! @brief     Defines class SessionModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_SESSION_SESSIONMODEL_H
-#define BORNAGAIN_GUI_MODEL_SESSION_SESSIONMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_MODEL_SESSIONMODEL_H
+#define BORNAGAIN_GUI_MODEL_MODEL_SESSIONMODEL_H
 
 #include "GUI/Model/Group/SelectionProperty.h"
 #include <QStringList>
@@ -201,4 +201,4 @@ inline void SessionModel::setDraggedItemType(const QString& type)
     m_dragged_item_type = type;
 }
 
-#endif // BORNAGAIN_GUI_MODEL_SESSION_SESSIONMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_MODEL_SESSIONMODEL_H
diff --git a/GUI/Model/Plot/DataProperties.cpp b/GUI/Model/Plot/DataProperties.cpp
index 22c31ccb5cc8a424d9a2af3726771f7611f6debe..9276f5661508e001313845918d331c822e1bb053 100644
--- a/GUI/Model/Plot/DataProperties.cpp
+++ b/GUI/Model/Plot/DataProperties.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Plot/DataProperties.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Session/DataItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/DataItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/Util/Error.h"
 #include "GUI/Util/Path.h"
diff --git a/GUI/Model/Plot/DataProperties.h b/GUI/Model/Plot/DataProperties.h
index 44bab8036716e330e4b9c9f1857d854013fcb16a..2e5367b427ffd0e8c49a400a0fe45cea0115f83b 100644
--- a/GUI/Model/Plot/DataProperties.h
+++ b/GUI/Model/Plot/DataProperties.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_PLOT_DATAPROPERTIES_H
 #define BORNAGAIN_GUI_MODEL_PLOT_DATAPROPERTIES_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class DataItem;
 
diff --git a/GUI/Model/Plot/DataPropertyContainer.cpp b/GUI/Model/Plot/DataPropertyContainer.cpp
index 80575d506701f154ce147bc177b1e832f4a7beba..77abe49fc8235e04f4827a43446c1d669b3008a3 100644
--- a/GUI/Model/Plot/DataPropertyContainer.cpp
+++ b/GUI/Model/Plot/DataPropertyContainer.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Model/Plot/DataPropertyContainer.h"
 #include "GUI/Model/Plot/DataProperties.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "GUI/Util/Error.h"
 
 DataPropertyContainer::DataPropertyContainer()
diff --git a/GUI/Model/Plot/DataPropertyContainer.h b/GUI/Model/Plot/DataPropertyContainer.h
index 254db64aca0aaeaa9c54e2eecf601cee97a833bd..080cb54055b6f3f7eed2c5bf894423cd10588c76 100644
--- a/GUI/Model/Plot/DataPropertyContainer.h
+++ b/GUI/Model/Plot/DataPropertyContainer.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_PLOT_DATAPROPERTYCONTAINER_H
 #define BORNAGAIN_GUI_MODEL_PLOT_DATAPROPERTYCONTAINER_H
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 class DataItem;
 class DataProperties;
diff --git a/GUI/Model/Plot/DataViewUtils.cpp b/GUI/Model/Plot/DataViewUtils.cpp
index e8079b824002364d2b2a6b1b124140aee5fdf76e..2fa784cdc9de337b4414d523c3b7856354e65a97 100644
--- a/GUI/Model/Plot/DataViewUtils.cpp
+++ b/GUI/Model/Plot/DataViewUtils.cpp
@@ -14,10 +14,10 @@
 
 #include "GUI/Model/Plot/DataViewUtils.h"
 #include "Device/Coord/ICoordSystem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "GUI/Util/CoordName.h"
 
 namespace {
diff --git a/GUI/Model/Project/JobQueueData.cpp b/GUI/Model/Project/JobQueueData.cpp
index 8987cdae5498e24076827a448787ba4bd75f2c60..32bb2aebfd1c2fa70a2472b4913ee36281f78724 100644
--- a/GUI/Model/Project/JobQueueData.cpp
+++ b/GUI/Model/Project/JobQueueData.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/Model/Project/JobQueueData.h"
 #include "Core/Simulation/ISimulation.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/Model/To/DomainSimulationBuilder.h"
 #include "GUI/Support/Data/JobWorker.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/Model/Project/LinkInstrumentManager.cpp b/GUI/Model/Project/LinkInstrumentManager.cpp
index 3204bc66dcade11d6994ac03400430432da0069c..a07cc8d4afac9a17ed497c17a4a9896ce9c287b1 100644
--- a/GUI/Model/Project/LinkInstrumentManager.cpp
+++ b/GUI/Model/Project/LinkInstrumentManager.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Project/LinkInstrumentManager.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 #include <QMessageBox>
 #include <QPushButton>
 
diff --git a/GUI/Model/Project/OutputDataIOService.cpp b/GUI/Model/Project/OutputDataIOService.cpp
index 911ae3acadb18750c56753f72b78df1deb00175e..7b529779dee96a0bea3da14da2e747c6d69f2fe0 100644
--- a/GUI/Model/Project/OutputDataIOService.cpp
+++ b/GUI/Model/Project/OutputDataIOService.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Project/OutputDataIOService.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Project/ApplicationModels.h"
-#include "GUI/Model/Session/ModelPath.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Model/ApplicationModels.h"
+#include "GUI/Model/Model/ModelPath.h"
 #include "GUI/Support/IO/ProjectUtils.h"
 #include "GUI/Support/IO/SaveLoadInterface.h"
 #include "GUI/Util/MessageService.h"
diff --git a/GUI/Model/Project/ParameterTreeUtils.cpp b/GUI/Model/Project/ParameterTreeUtils.cpp
index 06f12eff790d43230019c3b0724b8674e3676c95..c5ec8062c26169886851013960e27409801aa64f 100644
--- a/GUI/Model/Project/ParameterTreeUtils.cpp
+++ b/GUI/Model/Project/ParameterTreeUtils.cpp
@@ -13,26 +13,26 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Project/ParameterTreeUtils.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Sample/FTDecayFunctionItemCatalogs.h"
-#include "GUI/Model/Sample/FTDistributionItemCatalogs.h"
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/InterferenceItemCatalog.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/ItemWithParticlesCatalog.h"
-#include "GUI/Model/Sample/Lattice2DItemCatalog.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Sample/RotationItemCatalog.h"
-#include "GUI/Model/Session/PropertyItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Item/FTDecayFunctionItemCatalogs.h"
+#include "GUI/Model/Item/FTDistributionItemCatalogs.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/InterferenceItemCatalog.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/ItemWithParticlesCatalog.h"
+#include "GUI/Model/Item/Lattice2DItemCatalog.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Item/RotationItemCatalog.h"
+#include "GUI/Model/Item/PropertyItem.h"
 
 namespace {
 
diff --git a/GUI/Model/Project/ProjectDocument.cpp b/GUI/Model/Project/ProjectDocument.cpp
index 6e8dae97ef302c35c59ef4e9b7dee8b036e473e1..500885d5447186d0382f2a5e5eabbdc503322b0d 100644
--- a/GUI/Model/Project/ProjectDocument.cpp
+++ b/GUI/Model/Project/ProjectDocument.cpp
@@ -13,14 +13,14 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Project/ProjectDocument.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/Model/Project/LinkInstrumentManager.h"
 #include "GUI/Model/Project/OutputDataIOService.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include "GUI/Support/Data/XML.h"
diff --git a/GUI/Model/Project/ProjectDocument.h b/GUI/Model/Project/ProjectDocument.h
index c18d9b663dcd63b8e5ad65d82b396b0eb26c0d69..7bb9828f649ca097304c06466e7503248d284392 100644
--- a/GUI/Model/Project/ProjectDocument.h
+++ b/GUI/Model/Project/ProjectDocument.h
@@ -15,9 +15,9 @@
 #ifndef BORNAGAIN_GUI_MODEL_PROJECT_PROJECTDOCUMENT_H
 #define BORNAGAIN_GUI_MODEL_PROJECT_PROJECTDOCUMENT_H
 
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Project/ApplicationModels.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Model/ApplicationModels.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include <QObject>
 #include <QVariant>
diff --git a/GUI/Model/Sample/SampleValidator.cpp b/GUI/Model/Sample/SampleValidator.cpp
index 8a34447945e4216f0f371fd4dce3209cb3693a9d..03127f38c10d3c829c0c1bc29b751e4cf311e02d 100644
--- a/GUI/Model/Sample/SampleValidator.cpp
+++ b/GUI/Model/Sample/SampleValidator.cpp
@@ -13,12 +13,12 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Sample/SampleValidator.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 
 
 void SampleValidator::validateItem(const ItemWithParticles* item)
diff --git a/GUI/Model/To/DomainSimulationBuilder.cpp b/GUI/Model/To/DomainSimulationBuilder.cpp
index 5bef307413ff4ebb5211a52de405402393ecca30..6fd5f604e292bbb91ef91cab8c85e10fd289b9a9 100644
--- a/GUI/Model/To/DomainSimulationBuilder.cpp
+++ b/GUI/Model/To/DomainSimulationBuilder.cpp
@@ -21,13 +21,13 @@
 #include "Core/Simulation/includeSimulations.h"
 #include "Device/Beam/Beam.h"
 #include "Device/Beam/IFootprintFactor.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Instrument/BackgroundItems.h"
-#include "GUI/Model/Instrument/BeamAngleItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
-#include "GUI/Model/Instrument/FootprintItems.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/BackgroundItems.h"
+#include "GUI/Model/Item/BeamAngleItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
+#include "GUI/Model/Item/FootprintItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/Model/To/ToDomain.h"
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/Model/To/ToDomain.cpp b/GUI/Model/To/ToDomain.cpp
index a8b04dcc0f168aecd960fa6ff97d5e4dcc2dc76a..080e5dd6392e426f1d0bb335ec08a7cb2c3b9951 100644
--- a/GUI/Model/To/ToDomain.cpp
+++ b/GUI/Model/To/ToDomain.cpp
@@ -13,16 +13,16 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/To/ToDomain.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/LayerRoughnessItems.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/LayerRoughnessItems.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/Model/Types/DoubleDescriptor.cpp b/GUI/Model/Types/DoubleDescriptor.cpp
index 8e9e4a29c95754af27d9aa24ce041d87f2201e5e..d98a411f0724ff8a523d424cb64cd5ad2ca776a1 100644
--- a/GUI/Model/Types/DoubleDescriptor.cpp
+++ b/GUI/Model/Types/DoubleDescriptor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Types/DoubleDescriptor.h"
-#include "GUI/Model/Session/SessionItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/SessionItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/Path.h"
 #include <utility>
 
diff --git a/GUI/Model/Types/UIntDescriptor.cpp b/GUI/Model/Types/UIntDescriptor.cpp
index 8d010555bd816ea35089329e3bd27bbd161518d0..00a844b32cf111d96e9fc9143658974c95117d94 100644
--- a/GUI/Model/Types/UIntDescriptor.cpp
+++ b/GUI/Model/Types/UIntDescriptor.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Model/Types/UIntDescriptor.h"
 
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include <utility>
 
 UIntDescriptor::UIntDescriptor(const QString& label, SessionItem* item,
diff --git a/GUI/Model/Types/VectorDescriptor.h b/GUI/Model/Types/VectorDescriptor.h
index 7ae43e95fc1a50688751a94598b7a92376c7fae5..42b7f43a2b2fd71ef29ec7b6cece70c612c389ad 100644
--- a/GUI/Model/Types/VectorDescriptor.h
+++ b/GUI/Model/Types/VectorDescriptor.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_TYPES_VECTORDESCRIPTOR_H
 
 #include "GUI/Model/Types/DoubleDescriptor.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 
 //! Describes properties of a 3D vector, consisting of three double values.
 //!
diff --git a/GUI/Model/XML/SessionXML.cpp b/GUI/Model/XML/SessionXML.cpp
index 0c90fa9700a1a34867c6a66655c9e8e23c550424..4889e09dc362ee22942e28bec1342a99e92a1d14 100644
--- a/GUI/Model/XML/SessionXML.cpp
+++ b/GUI/Model/XML/SessionXML.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/XML/SessionXML.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Support/Data/SessionFlags.h"
 #include "GUI/Support/Data/SessionItemTags.h"
 #include "GUI/Support/Data/XML.h"
diff --git a/GUI/View/Common/ItemStackWidget.cpp b/GUI/View/Common/ItemStackWidget.cpp
index a5e28497728f310a6efffe7b164462888af6e1e6..ea37e4aeea0117ed70d8fa042a04fa8c8eb859c1 100644
--- a/GUI/View/Common/ItemStackWidget.cpp
+++ b/GUI/View/Common/ItemStackWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Common/ItemStackWidget.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/Error.h"
 #include <QStackedWidget>
 #include <QVBoxLayout>
diff --git a/GUI/View/Common/SessionItemController.cpp b/GUI/View/Common/SessionItemController.cpp
index 93af52512fcff4c0317b52b1681c3d96f4909e43..6fb08f6d8e6525935519a239446816b6ef25872d 100644
--- a/GUI/View/Common/SessionItemController.cpp
+++ b/GUI/View/Common/SessionItemController.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Common/SessionItemController.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 
 SessionItemController::SessionItemController(QObject* prt)
     : QObject(prt)
diff --git a/GUI/View/Fit/FilterPropertyProxy.cpp b/GUI/View/Fit/FilterPropertyProxy.cpp
index bf8c3f3d3972d49cb860532c713a6bc245267838..59f1c89f1783981aa00f35d6edcbb217bda644cf 100644
--- a/GUI/View/Fit/FilterPropertyProxy.cpp
+++ b/GUI/View/Fit/FilterPropertyProxy.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/FilterPropertyProxy.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Session/PropertyItem.h"
-#include "GUI/Model/Session/SessionModel.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/PropertyItem.h"
+#include "GUI/Model/Model/SessionModel.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/Support/Data/SessionFlags.h"
 
 int FilterPropertyProxy::columnCount(const QModelIndex& parent) const
diff --git a/GUI/View/Fit/FitActivityPanel.cpp b/GUI/View/Fit/FitActivityPanel.cpp
index c5718d1c9d2d374f9dcfcb42f5be8f4bfa531dc2..6af57e4502bad2e6ecd1936058ca6bb44e4465c3 100644
--- a/GUI/View/Fit/FitActivityPanel.cpp
+++ b/GUI/View/Fit/FitActivityPanel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/FitActivityPanel.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/View/Fit/FitSessionController.h"
 #include "GUI/View/Fit/FitSessionManager.h"
 #include "GUI/View/Fit/FitSessionWidget.h"
diff --git a/GUI/View/Fit/FitObjectiveBuilder.cpp b/GUI/View/Fit/FitObjectiveBuilder.cpp
index f3564a844fbdc5c67a3cdc0d77924898088c0036..7a7d029b45ae4bdc09b60713d1a28ea3e7e7b0a8 100644
--- a/GUI/View/Fit/FitObjectiveBuilder.cpp
+++ b/GUI/View/Fit/FitObjectiveBuilder.cpp
@@ -18,12 +18,12 @@
 #include "Core/Simulation/ISimulation.h"
 #include "Fit/Kernel/Minimizer.h"
 #include "Fit/Minimizer/IMinimizer.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/MinimizerItem.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/MinimizerItem.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "GUI/Model/To/DomainSimulationBuilder.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Fit/GUIFitObserver.h"
diff --git a/GUI/View/Fit/FitParameterDelegate.cpp b/GUI/View/Fit/FitParameterDelegate.cpp
index 5d79c7e42e5cba3e8b3d5d8442c94a46c5c4bffc..a0d9030f3ff1557f184f7e45b0f6c7554d4b7f5c 100644
--- a/GUI/View/Fit/FitParameterDelegate.cpp
+++ b/GUI/View/Fit/FitParameterDelegate.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/FitParameterDelegate.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/View/PropertyEditor/CustomEditors.h"
 #include "GUI/View/PropertyEditor/CustomEventFilters.h"
 #include "GUI/View/PropertyEditor/PropertyEditorFactory.h"
diff --git a/GUI/View/Fit/FitParameterWidget.cpp b/GUI/View/Fit/FitParameterWidget.cpp
index dc7c7ded87fda4bd023657fe9d8af039f56bdd9c..aa85ed480f2a3b9ad7a9bc70555658294cc339cc 100644
--- a/GUI/View/Fit/FitParameterWidget.cpp
+++ b/GUI/View/Fit/FitParameterWidget.cpp
@@ -13,15 +13,15 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/FitParameterWidget.h"
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
 #include "GUI/Model/Fit/FitParameterHelper.h"
-#include "GUI/Model/Fit/FitParameterItem.h"
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
-#include "GUI/Model/Fit/FitParameterModel.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/FitParameterItem.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
+#include "GUI/Model/Model/FitParameterModel.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/View/Fit/FilterPropertyProxy.h"
 #include "GUI/View/Fit/FitParameterDelegate.h"
 #include "GUI/View/Fit/ParameterTuningWidget.h"
diff --git a/GUI/View/Fit/FitSessionController.cpp b/GUI/View/Fit/FitSessionController.cpp
index de805f8bde8466e9bbbdc8c45cba72d18d52142e..ab7c7901d0a00e6323db65822f89d3158d9d4ae5 100644
--- a/GUI/View/Fit/FitSessionController.cpp
+++ b/GUI/View/Fit/FitSessionController.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/FitSessionController.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
-#include "GUI/Model/Fit/FitParameterItem.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
+#include "GUI/Model/Item/FitParameterItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/Util/Error.h"
 #include "GUI/Util/Path.h"
 #include "GUI/View/Fit/FitLog.h"
diff --git a/GUI/View/Fit/FitSessionManager.cpp b/GUI/View/Fit/FitSessionManager.cpp
index 1787f8e2a31c91ca0bcd6c6632d2419eac03071b..e559911ae576b622977585cbdd595d93b68e9f6c 100644
--- a/GUI/View/Fit/FitSessionManager.cpp
+++ b/GUI/View/Fit/FitSessionManager.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/FitSessionManager.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Fit/FitLog.h"
 #include "GUI/View/Fit/FitSessionController.h"
diff --git a/GUI/View/Fit/FitSessionWidget.cpp b/GUI/View/Fit/FitSessionWidget.cpp
index dccfb9a6e1ef70d51c1accec2d2fd883f2e47701..c801db45ebdeeceed8060bed8281a79a94e3d019 100644
--- a/GUI/View/Fit/FitSessionWidget.cpp
+++ b/GUI/View/Fit/FitSessionWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/FitSessionWidget.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/View/Fit/FitParameterWidget.h"
 #include "GUI/View/Fit/FitSessionController.h"
 #include "GUI/View/Fit/MinimizerSettingsWidget.h"
diff --git a/GUI/View/Fit/JobRealTimeWidget.cpp b/GUI/View/Fit/JobRealTimeWidget.cpp
index e81da33e7d3857eb8ef8bbab6a0ab4696ea34e43..b04ddc9afbd7004b435bd9cbba502330e4be798e 100644
--- a/GUI/View/Fit/JobRealTimeWidget.cpp
+++ b/GUI/View/Fit/JobRealTimeWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/JobRealTimeWidget.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/View/Fit/ParameterTuningWidget.h"
 #include "GUI/View/Tool/mainwindow_constants.h"
 #include <QVBoxLayout>
diff --git a/GUI/View/Fit/MinimizerSettingsWidget.cpp b/GUI/View/Fit/MinimizerSettingsWidget.cpp
index 3eea207d3d362948fd6b21a2499a1aa1a3a30de8..c8aefce7f2e34fc5e9b162eefddc31f0a3a64baf 100644
--- a/GUI/View/Fit/MinimizerSettingsWidget.cpp
+++ b/GUI/View/Fit/MinimizerSettingsWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/MinimizerSettingsWidget.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/MinimizerItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/MinimizerItem.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/Tool/LayoutUtils.h"
 #include <QComboBox>
diff --git a/GUI/View/Fit/ParameterTuningDelegate.cpp b/GUI/View/Fit/ParameterTuningDelegate.cpp
index caaf47b6c2c3fba2cd5f7944753160cef318925e..4ae85c7359d62b0cdc2a051a06a74e4c09f96056 100644
--- a/GUI/View/Fit/ParameterTuningDelegate.cpp
+++ b/GUI/View/Fit/ParameterTuningDelegate.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/ParameterTuningDelegate.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Fit/ParameterTuningModel.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Model/ParameterTuningModel.h"
 #include "GUI/View/PropertyEditor/ScientificSpinBox.h"
 #include <QAbstractItemModel>
 #include <QApplication>
diff --git a/GUI/View/Fit/ParameterTuningWidget.cpp b/GUI/View/Fit/ParameterTuningWidget.cpp
index aaf991a76bb9f2642229fdf79f78b776cbbb5e6e..e3500328933b6faa54a10d9e4a416a1e1fbab55a 100644
--- a/GUI/View/Fit/ParameterTuningWidget.cpp
+++ b/GUI/View/Fit/ParameterTuningWidget.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/ParameterTuningWidget.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Fit/ParameterTreeItems.h"
-#include "GUI/Model/Fit/ParameterTuningModel.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/ParameterTreeItems.h"
+#include "GUI/Model/Model/ParameterTuningModel.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Common/StyledToolBar.h"
 #include "GUI/View/Fit/ParameterTuningDelegate.h"
diff --git a/GUI/View/Fit/RunFitControlWidget.cpp b/GUI/View/Fit/RunFitControlWidget.cpp
index 01010ecc19171edfd97732a4f0ee5c4d2cfbea3e..4cd608b862a386ed5ab87cbcc3ad8b7a31b35d9a 100644
--- a/GUI/View/Fit/RunFitControlWidget.cpp
+++ b/GUI/View/Fit/RunFitControlWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Fit/RunFitControlWidget.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/View/Info/CautionSign.h"
 #include "GUI/View/Tool/DesignerHelper.h"
 #include "GUI/View/Tool/mainwindow_constants.h"
diff --git a/GUI/View/FromDomain/FromDomain.cpp b/GUI/View/FromDomain/FromDomain.cpp
index 6d36b4892b17743c7893cbeb4c6d8094531801bb..f28cc86f215accdb706e0d639f5f8f2ef48fe075 100644
--- a/GUI/View/FromDomain/FromDomain.cpp
+++ b/GUI/View/FromDomain/FromDomain.cpp
@@ -32,19 +32,19 @@
 #include "Device/Mask/Rectangle.h"
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Instrument/BackgroundItems.h"
-#include "GUI/Model/Instrument/BeamAngleItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
-#include "GUI/Model/Instrument/ResolutionFunctionItems.h"
-#include "GUI/Model/Instrument/SphericalDetectorItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/BackgroundItems.h"
+#include "GUI/Model/Item/BeamAngleItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
+#include "GUI/Model/Item/ResolutionFunctionItems.h"
+#include "GUI/Model/Item/SphericalDetectorItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Util/Error.h"
 #include "Param/Distrib/Distributions.h"
 #include "Param/Distrib/RangedDistributions.h"
diff --git a/GUI/View/FromDomain/GUIObjectBuilder.cpp b/GUI/View/FromDomain/GUIObjectBuilder.cpp
index 7c6eb916e2f30dd4694732b6c9702c6e7f57869c..357ebed11d083a9ec8b1486bdf8fd47dd49a6919 100644
--- a/GUI/View/FromDomain/GUIObjectBuilder.cpp
+++ b/GUI/View/FromDomain/GUIObjectBuilder.cpp
@@ -16,8 +16,8 @@
 #include "Base/Const/Units.h"
 #include "Base/Util/Assert.h"
 #include "Core/Simulation/includeSimulations.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include "GUI/View/FromDomain/FromDomain.h"
 #include "GUI/View/FromDomain/GUISampleBuilder.h"
diff --git a/GUI/View/FromDomain/GUISampleBuilder.cpp b/GUI/View/FromDomain/GUISampleBuilder.cpp
index 76a5a94e046a1bf87c2cc7a3d3c0500bce1094d6..e06e7b4cdf87be836ee1c4d2cdad20315aec11c9 100644
--- a/GUI/View/FromDomain/GUISampleBuilder.cpp
+++ b/GUI/View/FromDomain/GUISampleBuilder.cpp
@@ -13,15 +13,15 @@
 //  ************************************************************************************************
 
 #include "GUI/View/FromDomain/GUISampleBuilder.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/View/FromDomain/FromDomain.h"
 #include "Sample/Aggregate/ParticleLayout.h"
diff --git a/GUI/View/Import/ImportDataUtils.cpp b/GUI/View/Import/ImportDataUtils.cpp
index 0e640739cf421c7c48aee66c87d2607eaf2d6289..3c907e81ec9d7e83633474c93ca718a09055e97d 100644
--- a/GUI/View/Import/ImportDataUtils.cpp
+++ b/GUI/View/Import/ImportDataUtils.cpp
@@ -15,7 +15,7 @@
 #include "GUI/View/Import/ImportDataUtils.h"
 #include "Device/Data/OutputData.h"
 #include "Device/InputOutput/DataFormatUtils.h"
-#include "GUI/Model/Data/RealDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
 #include "GUI/Support/IO/ImportDataInfo.h"
 #include "GUI/Support/IO/OutputDataUtils.h"
 #include "GUI/View/Loaders/QREDataLoader.h"
diff --git a/GUI/View/Import/ImportDataView.cpp b/GUI/View/Import/ImportDataView.cpp
index 628b9af847e17bb38362ed1cbf585fba6def2f72..8da8d6ca5871f09d63d4e1d6be602ccf80b3e105 100644
--- a/GUI/View/Import/ImportDataView.cpp
+++ b/GUI/View/Import/ImportDataView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Import/ImportDataView.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/View/Import/RealDataSelectorWidget.h"
 #include "GUI/View/Tool/mainwindow_constants.h"
diff --git a/GUI/View/Import/RealDataMaskWidget.cpp b/GUI/View/Import/RealDataMaskWidget.cpp
index 74ce96d0ea4a11a42f25187d71a338f76569d4d4..a0cc01cf11756b1055407e5a0569d6e5ad46f97d 100644
--- a/GUI/View/Import/RealDataMaskWidget.cpp
+++ b/GUI/View/Import/RealDataMaskWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Import/RealDataMaskWidget.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/View/Mask/MaskEditor.h"
 #include <QAction>
 #include <QBoxLayout>
diff --git a/GUI/View/Import/RealDataPresenter.cpp b/GUI/View/Import/RealDataPresenter.cpp
index fde8fd89739fe4de1f8f2611f2bf9bcd89d2565a..028a2eb120f444cf19fd4b1716ebe716a302e8d6 100644
--- a/GUI/View/Import/RealDataPresenter.cpp
+++ b/GUI/View/Import/RealDataPresenter.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Import/RealDataPresenter.h"
-#include "GUI/Model/Data/RealDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Import/RealDataMaskWidget.h"
 #include "GUI/View/Import/SpecularDataImportWidget.h"
diff --git a/GUI/View/Import/RealDataPropertiesWidget.cpp b/GUI/View/Import/RealDataPropertiesWidget.cpp
index 82462a81b42cffc753e1832ece3985e59f9f7ee5..4df6d7cb1dea51de5305d63cc6aa058e3677d9d7 100644
--- a/GUI/View/Import/RealDataPropertiesWidget.cpp
+++ b/GUI/View/Import/RealDataPropertiesWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Import/RealDataPropertiesWidget.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 #include "GUI/Model/Project/LinkInstrumentManager.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/View/Global/Globals.h"
diff --git a/GUI/View/Import/RealDataSelectorWidget.cpp b/GUI/View/Import/RealDataSelectorWidget.cpp
index 88404e3a74218a8def793fb31493dcadafdb22a9..0f36dd620f80f6f2de111248f06e85a68a183228 100644
--- a/GUI/View/Import/RealDataSelectorWidget.cpp
+++ b/GUI/View/Import/RealDataSelectorWidget.cpp
@@ -15,8 +15,8 @@
 #include "GUI/View/Import/RealDataSelectorWidget.h"
 #include "Device/Data/DataUtils.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
 #include "GUI/Support/IO/AbstractDataLoader1D.h"
 #include "GUI/Support/IO/DataLoaders1D.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/View/Import/RealDataTreeModel.cpp b/GUI/View/Import/RealDataTreeModel.cpp
index 638f1c734bf2a107b9c591bb7f2833f007b4019e..07efec268c1650fad21209e1dd9219b15f4e9b7b 100644
--- a/GUI/View/Import/RealDataTreeModel.cpp
+++ b/GUI/View/Import/RealDataTreeModel.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/Import/RealDataTreeModel.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
 #include <QApplication>
 #include <QtCore>
 #include <QtGui>
diff --git a/GUI/View/Import/SpecularDataImportWidget.cpp b/GUI/View/Import/SpecularDataImportWidget.cpp
index e7e014b0029f6995e656f76360403691f28dbfbc..8a9ee378b9cdb5310e5ca7a7a513c823324bcd79 100644
--- a/GUI/View/Import/SpecularDataImportWidget.cpp
+++ b/GUI/View/Import/SpecularDataImportWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Import/SpecularDataImportWidget.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/Support/IO/AbstractDataLoaderResultModel.h"
 #include "GUI/Support/IO/DataLoaders1D.h"
 #include "GUI/View/Global/Globals.h"
diff --git a/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp b/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp
index de8b252945412f5742e05a7500b42ce9f7e420e5..573e897aef104d616b0a8ddff462ccd3197b42eb 100644
--- a/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp
+++ b/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/DepthProbeInstrumentEditor.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/View/Instrument/Detail/CreateDetails.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 #include "GUI/View/Instrument/InclinationAnglesEditor.h"
diff --git a/GUI/View/Instrument/DetectorAlignmentEditor.cpp b/GUI/View/Instrument/DetectorAlignmentEditor.cpp
index 2114aae174995154fb9372058bd1a7b22dfe1963..867cd428934a41bfb863b1568a3451b00633d97e 100644
--- a/GUI/View/Instrument/DetectorAlignmentEditor.cpp
+++ b/GUI/View/Instrument/DetectorAlignmentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/DetectorAlignmentEditor.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/View/Instrument/VectorEditor.h"
 
diff --git a/GUI/View/Instrument/DetectorEditor.cpp b/GUI/View/Instrument/DetectorEditor.cpp
index 7efa9401ef5fbc4aa59173fb54c4d6f9756c7868..b00aa9bd85415f4d1c7f1a3073cbd0c954fcc5e3 100644
--- a/GUI/View/Instrument/DetectorEditor.cpp
+++ b/GUI/View/Instrument/DetectorEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/DetectorEditor.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
-#include "GUI/Model/Instrument/SphericalDetectorItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
+#include "GUI/Model/Item/SphericalDetectorItem.h"
 #include "GUI/View/Instrument/RectangularDetectorEditor.h"
 #include "GUI/View/Instrument/SphericalDetectorEditor.h"
 
diff --git a/GUI/View/Instrument/DistributionEditor.cpp b/GUI/View/Instrument/DistributionEditor.cpp
index 81ef659cffbdbe0995499d57e06553a09136c4b8..a00534f92676bda3d674cd7fea55308bde1a9227 100644
--- a/GUI/View/Instrument/DistributionEditor.cpp
+++ b/GUI/View/Instrument/DistributionEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/DistributionEditor.h"
-#include "GUI/Model/Instrument/ItemWithDistribution.h"
-#include "GUI/Model/Instrument/ResolutionItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/ItemWithDistribution.h"
+#include "GUI/Model/Item/ResolutionItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/Instrument/DistributionForms.h"
 #include "GUI/View/Instrument/EditDistributionDialog.h"
 #include "GUI/View/PropertyEditor/GroupInfoBox.h"
diff --git a/GUI/View/Instrument/DistributionForms.cpp b/GUI/View/Instrument/DistributionForms.cpp
index 7121c25f4eafd3bc263ef060733cba5fbdb376cd..967d66f1f2c4ac6ee6734f56b365b72ae699f42c 100644
--- a/GUI/View/Instrument/DistributionForms.cpp
+++ b/GUI/View/Instrument/DistributionForms.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/DistributionForms.h"
-#include "GUI/Model/Instrument/ItemWithDistribution.h"
-#include "GUI/Model/Instrument/ResolutionItems.h"
+#include "GUI/Model/Item/ItemWithDistribution.h"
+#include "GUI/Model/Item/ResolutionItems.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 #include "GUI/View/PropertyEditor/ScientificSpinBox.h"
 
diff --git a/GUI/View/Instrument/DistributionPlot.cpp b/GUI/View/Instrument/DistributionPlot.cpp
index 1664e2f9cbef2ce6d2f132b954b5d9ef7d7051d3..efd1787a61d9b6d26a966402fc2a4b34cea8a40d 100644
--- a/GUI/View/Instrument/DistributionPlot.cpp
+++ b/GUI/View/Instrument/DistributionPlot.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/DistributionPlot.h"
-#include "GUI/Model/Instrument/ResolutionItems.h"
-#include "GUI/Model/Session/RealLimitsItems.h"
+#include "GUI/Model/Item/ResolutionItems.h"
+#include "GUI/Model/Item/RealLimitsItems.h"
 #include "GUI/View/Info/CautionSign.h"
 #include "Param/Distrib/Distributions.h"
 #include <QLabel>
diff --git a/GUI/View/Instrument/EditDistributionDialog.cpp b/GUI/View/Instrument/EditDistributionDialog.cpp
index 48badfea5f6d96ea2a7119ca6d8a8644f8e57b5d..cf293ddc878573a27b05ac0b617bea4dbed550c2 100644
--- a/GUI/View/Instrument/EditDistributionDialog.cpp
+++ b/GUI/View/Instrument/EditDistributionDialog.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/EditDistributionDialog.h"
-#include "GUI/Model/Instrument/ItemWithDistribution.h"
+#include "GUI/Model/Item/ItemWithDistribution.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 #include "GUI/View/Instrument/DistributionPlot.h"
 
diff --git a/GUI/View/Instrument/EnvironmentEditor.cpp b/GUI/View/Instrument/EnvironmentEditor.cpp
index 5df2ddec5440e136f45e9d6579242eb838e49362..51716b80fc0c8a200961f4970a15a52286f20522 100644
--- a/GUI/View/Instrument/EnvironmentEditor.cpp
+++ b/GUI/View/Instrument/EnvironmentEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/EnvironmentEditor.h"
-#include "GUI/Model/Instrument/BackgroundItems.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/BackgroundItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 
 #include <QComboBox>
 #include <QDoubleSpinBox>
diff --git a/GUI/View/Instrument/FootprintCorrectionEditor.cpp b/GUI/View/Instrument/FootprintCorrectionEditor.cpp
index 2f163f9865f57c43bfd503376ecf5280f5e4e54b..cd5338490c7c9c7e004bd2f93a11c44c542c633f 100644
--- a/GUI/View/Instrument/FootprintCorrectionEditor.cpp
+++ b/GUI/View/Instrument/FootprintCorrectionEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/FootprintCorrectionEditor.h"
-#include "GUI/Model/Instrument/FootprintItems.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/FootprintItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 
 #include <QComboBox>
 #include <QDoubleSpinBox>
diff --git a/GUI/View/Instrument/GISASBeamEditor.cpp b/GUI/View/Instrument/GISASBeamEditor.cpp
index 65f521b8a219918b359301e2cd4f56bbdd47cc41..da18e602654faeb7ebdb5b78d35b4ebc36697d32 100644
--- a/GUI/View/Instrument/GISASBeamEditor.cpp
+++ b/GUI/View/Instrument/GISASBeamEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/GISASBeamEditor.h"
-#include "GUI/Model/Instrument/BeamAngleItems.h"
-#include "GUI/Model/Instrument/BeamItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
+#include "GUI/Model/Item/BeamAngleItems.h"
+#include "GUI/Model/Item/BeamItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 
 #include <QDoubleValidator>
diff --git a/GUI/View/Instrument/GISASInstrumentEditor.cpp b/GUI/View/Instrument/GISASInstrumentEditor.cpp
index e78a5df0531caf5e7b39d7b66e3fba83cdec54ca..dca6e2280f65b13557b0316aad934f91d4651e5a 100644
--- a/GUI/View/Instrument/GISASInstrumentEditor.cpp
+++ b/GUI/View/Instrument/GISASInstrumentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/GISASInstrumentEditor.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/View/Instrument/Detail/CreateDetails.h"
 #include "GUI/View/Instrument/DetectorEditor.h"
 #include "GUI/View/Instrument/EnvironmentEditor.h"
diff --git a/GUI/View/Instrument/InclinationAnglesEditor.cpp b/GUI/View/Instrument/InclinationAnglesEditor.cpp
index 59ad6e359fce9b681963ee5db101400ce5800620..b0bbe6982ec7d264f060e5df74f48954fe2aab6e 100644
--- a/GUI/View/Instrument/InclinationAnglesEditor.cpp
+++ b/GUI/View/Instrument/InclinationAnglesEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/InclinationAnglesEditor.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Instrument/SpecularBeamInclinationItem.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/SpecularBeamInclinationItem.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 #include "GUI/View/Instrument/SphericalAxisEditor.h"
 #include "GUI/View/PropertyEditor/GroupInfoBox.h"
diff --git a/GUI/View/Instrument/InstrumentEditor.cpp b/GUI/View/Instrument/InstrumentEditor.cpp
index 61aaa73b3714906fca5aaf67de36d4ee809978d9..c6bb31dd5b9e0307c2d309cd64811d500d7be1d3 100644
--- a/GUI/View/Instrument/InstrumentEditor.cpp
+++ b/GUI/View/Instrument/InstrumentEditor.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Instrument/InstrumentEditor.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/View/Instrument/DepthProbeInstrumentEditor.h"
 #include "GUI/View/Instrument/GISASInstrumentEditor.h"
 #include "GUI/View/Instrument/OffSpecularInstrumentEditor.h"
diff --git a/GUI/View/Instrument/InstrumentLibraryEditor.cpp b/GUI/View/Instrument/InstrumentLibraryEditor.cpp
index 96d2ea6b9bee2fee09f1cb99042d176b92d3195e..b83a192bdb5362268ae0dfca22e62594496b5a60 100644
--- a/GUI/View/Instrument/InstrumentLibraryEditor.cpp
+++ b/GUI/View/Instrument/InstrumentLibraryEditor.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Instrument/InstrumentLibraryEditor.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/View/Common/ItemViewOverlayButtons.h"
 #include "GUI/View/Instrument/Detail/CreateDetails.h"
diff --git a/GUI/View/Instrument/InstrumentListModel.cpp b/GUI/View/Instrument/InstrumentListModel.cpp
index 068b2975a56c02d0004a57e810c6837e53e3dabc..d2ac52e52b0d251ce249b49e32d8c689a784c9ea 100644
--- a/GUI/View/Instrument/InstrumentListModel.cpp
+++ b/GUI/View/Instrument/InstrumentListModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/InstrumentListModel.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 
 namespace {
 
diff --git a/GUI/View/Instrument/InstrumentListView.cpp b/GUI/View/Instrument/InstrumentListView.cpp
index 686160b28a9f3c343da3c789ac340d0417e65fd4..13a6852154efda932214c0d5104e6c142aaf5fb7 100644
--- a/GUI/View/Instrument/InstrumentListView.cpp
+++ b/GUI/View/Instrument/InstrumentListView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/InstrumentListView.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/View/Global/Globals.h"
diff --git a/GUI/View/Instrument/InstrumentView.cpp b/GUI/View/Instrument/InstrumentView.cpp
index 7d4910d6c139046b6f49c36e6ba8195a9fc45d34..ac4d4f5a80c7e546a4e29f3a49d2c953f346049a 100644
--- a/GUI/View/Instrument/InstrumentView.cpp
+++ b/GUI/View/Instrument/InstrumentView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/InstrumentView.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/View/Common/StyledToolBar.h"
 #include "GUI/View/Instrument/InstrumentEditor.h"
diff --git a/GUI/View/Instrument/InstrumentsTreeModel.cpp b/GUI/View/Instrument/InstrumentsTreeModel.cpp
index fc5b9e75349314ffbdf8f15a9a98fe4e156a392a..1dab566d4fff264bc4868abc8ea9e2f0111fe361 100644
--- a/GUI/View/Instrument/InstrumentsTreeModel.cpp
+++ b/GUI/View/Instrument/InstrumentsTreeModel.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/Instrument/InstrumentsTreeModel.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 #include <QApplication>
 #include <QtCore>
 #include <QtGui>
diff --git a/GUI/View/Instrument/OffSpecularBeamEditor.cpp b/GUI/View/Instrument/OffSpecularBeamEditor.cpp
index e556a86350e0cd41f1a393265c31289edc6061e5..4c3dfa803400ab87914447334ff188bf638778aa 100644
--- a/GUI/View/Instrument/OffSpecularBeamEditor.cpp
+++ b/GUI/View/Instrument/OffSpecularBeamEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/OffSpecularBeamEditor.h"
-#include "GUI/Model/Instrument/BeamAngleItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/BeamAngleItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 #include "GUI/View/Instrument/SphericalAxisEditor.h"
 
diff --git a/GUI/View/Instrument/OffSpecularInstrumentEditor.cpp b/GUI/View/Instrument/OffSpecularInstrumentEditor.cpp
index 55917bcfe867fe8957039679f36d7be6a5c03d47..6f0b08ae55214fb01fc6172a3005286f02691e3b 100644
--- a/GUI/View/Instrument/OffSpecularInstrumentEditor.cpp
+++ b/GUI/View/Instrument/OffSpecularInstrumentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/OffSpecularInstrumentEditor.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/View/Instrument/Detail/CreateDetails.h"
 #include "GUI/View/Instrument/DetectorEditor.h"
 #include "GUI/View/Instrument/OffSpecularBeamEditor.h"
diff --git a/GUI/View/Instrument/PolarizationAnalysisEditor.cpp b/GUI/View/Instrument/PolarizationAnalysisEditor.cpp
index 65a24db91c997d254ba558020c019fa635dd578f..2e07cd2cd134e02f0c86a22cf31bf3721208b6fe 100644
--- a/GUI/View/Instrument/PolarizationAnalysisEditor.cpp
+++ b/GUI/View/Instrument/PolarizationAnalysisEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/PolarizationAnalysisEditor.h"
-#include "GUI/Model/Instrument/DetectorItems.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/DetectorItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/View/Instrument/VectorEditor.h"
 
 #include <QCheckBox>
diff --git a/GUI/View/Instrument/RectangularDetectorEditor.cpp b/GUI/View/Instrument/RectangularDetectorEditor.cpp
index 4d81f4c1f7a9a7ee0a171b483afb590233d90ef2..426a3ea25653caa5a175d350903f025b7ef0ea1e 100644
--- a/GUI/View/Instrument/RectangularDetectorEditor.cpp
+++ b/GUI/View/Instrument/RectangularDetectorEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/RectangularDetectorEditor.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/View/Instrument/DetectorAlignmentEditor.h"
 #include "GUI/View/Instrument/ResolutionFunctionEditor.h"
 
diff --git a/GUI/View/Instrument/ResolutionFunctionEditor.cpp b/GUI/View/Instrument/ResolutionFunctionEditor.cpp
index 4e5a99abbad39bf3ba293178935381c95b079a03..6c2266a47af99bdb5e9c1d0ddc96c80ecef6650b 100644
--- a/GUI/View/Instrument/ResolutionFunctionEditor.cpp
+++ b/GUI/View/Instrument/ResolutionFunctionEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/ResolutionFunctionEditor.h"
-#include "GUI/Model/Instrument/DetectorItems.h"
-#include "GUI/Model/Instrument/ResolutionFunctionItems.h"
+#include "GUI/Model/Item/DetectorItems.h"
+#include "GUI/Model/Item/ResolutionFunctionItems.h"
 
 #include <QComboBox>
 #include <QDoubleSpinBox>
diff --git a/GUI/View/Instrument/SpecularBeamEditor.cpp b/GUI/View/Instrument/SpecularBeamEditor.cpp
index 9b5f005e5a3b0d74830d3278e573896fcff96811..6ef9100765c631e12ecb7595e1f9a53130691090 100644
--- a/GUI/View/Instrument/SpecularBeamEditor.cpp
+++ b/GUI/View/Instrument/SpecularBeamEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/SpecularBeamEditor.h"
-#include "GUI/Model/Instrument/BeamItems.h"
-#include "GUI/Model/Instrument/BeamWavelengthItem.h"
+#include "GUI/Model/Item/BeamItems.h"
+#include "GUI/Model/Item/BeamWavelengthItem.h"
 #include "GUI/View/Instrument/DistributionEditor.h"
 #include "GUI/View/Instrument/FootprintCorrectionEditor.h"
 #include "GUI/View/Instrument/InclinationAnglesEditor.h"
diff --git a/GUI/View/Instrument/SpecularInstrumentEditor.cpp b/GUI/View/Instrument/SpecularInstrumentEditor.cpp
index 52f9030953c7d6b6d8513d862d1dfad9a88100fc..7bd656e207e622bb5500394fe1e8f5fb51503436 100644
--- a/GUI/View/Instrument/SpecularInstrumentEditor.cpp
+++ b/GUI/View/Instrument/SpecularInstrumentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/SpecularInstrumentEditor.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/View/Instrument/Detail/CreateDetails.h"
 #include "GUI/View/Instrument/EnvironmentEditor.h"
 #include "GUI/View/Instrument/PolarizationAnalysisEditor.h"
diff --git a/GUI/View/Instrument/SphericalAxisEditor.cpp b/GUI/View/Instrument/SphericalAxisEditor.cpp
index f52689ee17e247e6ea8991872cf6681adf0f5297..9abba38e391394f08c194c8fa040c580c6c58eb7 100644
--- a/GUI/View/Instrument/SphericalAxisEditor.cpp
+++ b/GUI/View/Instrument/SphericalAxisEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/SphericalAxisEditor.h"
-#include "GUI/Model/Ax/AxesItems.h"
+#include "GUI/Model/Item/AxesItems.h"
 
 #include <QDoubleSpinBox>
 #include <QFormLayout>
diff --git a/GUI/View/Instrument/SphericalDetectorEditor.cpp b/GUI/View/Instrument/SphericalDetectorEditor.cpp
index 29b0d261c815aebd3301f448476a93c474a90e3c..006363c1d8d02439f65181ed2fd7f7159cb70c7c 100644
--- a/GUI/View/Instrument/SphericalDetectorEditor.cpp
+++ b/GUI/View/Instrument/SphericalDetectorEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/SphericalDetectorEditor.h"
-#include "GUI/Model/Instrument/SphericalDetectorItem.h"
+#include "GUI/Model/Item/SphericalDetectorItem.h"
 #include "GUI/View/Instrument/ResolutionFunctionEditor.h"
 #include "GUI/View/Instrument/SphericalAxisEditor.h"
 
diff --git a/GUI/View/Instrument/VectorEditor.cpp b/GUI/View/Instrument/VectorEditor.cpp
index 362718c68316f4adbb9d83684423addd1627a4e6..012ba43fd8ed0ef63c0dc76302cde6768dd7cf42 100644
--- a/GUI/View/Instrument/VectorEditor.cpp
+++ b/GUI/View/Instrument/VectorEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Instrument/VectorEditor.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 
 #include <QDoubleSpinBox>
 #include <QFormLayout>
diff --git a/GUI/View/Job/JobListModel.cpp b/GUI/View/Job/JobListModel.cpp
index 9d7e1d3f24cfb8d2fe232f305916be08a6ab4509..bdd5838026e704d8e2aaea90ee9152d07ea86bc1 100644
--- a/GUI/View/Job/JobListModel.cpp
+++ b/GUI/View/Job/JobListModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobListModel.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Model/JobModel.h"
 
 //==================================================================================================
 // JobListModel
diff --git a/GUI/View/Job/JobListView.cpp b/GUI/View/Job/JobListView.cpp
index 8a220445043ca539a9c89b9cf4db1c94684952af..dd09a20745e31ce61c516c87e206c8ee6ab83d6f 100644
--- a/GUI/View/Job/JobListView.cpp
+++ b/GUI/View/Job/JobListView.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobListView.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/View/Common/StyledToolBar.h"
 #include "GUI/View/Job/JobListModel.h"
 #include "GUI/View/Job/JobListViewDelegate.h"
diff --git a/GUI/View/Job/JobListViewDelegate.cpp b/GUI/View/Job/JobListViewDelegate.cpp
index 5e8c373aef9e60e961160a192ffd0009daf00daf..5254735e3bffc495513cb92aaa64493eecec5709 100644
--- a/GUI/View/Job/JobListViewDelegate.cpp
+++ b/GUI/View/Job/JobListViewDelegate.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobListViewDelegate.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/View/Job/JobListModel.h"
 #include <QApplication>
 #include <QMouseEvent>
diff --git a/GUI/View/Job/JobProgressAssistant.cpp b/GUI/View/Job/JobProgressAssistant.cpp
index 1d5f62e430e634a444f1d81f793f2eb85172234f..48c1d88cf3b82b1ae53a19a48770a0b44c62d7b7 100644
--- a/GUI/View/Job/JobProgressAssistant.cpp
+++ b/GUI/View/Job/JobProgressAssistant.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobProgressAssistant.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/View/Main/MainWindow.h"
 #include <QProgressBar>
 
diff --git a/GUI/View/Job/JobPropertiesTableModel.cpp b/GUI/View/Job/JobPropertiesTableModel.cpp
index 408b1e3c54645eacef2bc7f852e4f0647943755b..78523d95a4db3afdf21f5a265968908e8cc7ff08 100644
--- a/GUI/View/Job/JobPropertiesTableModel.cpp
+++ b/GUI/View/Job/JobPropertiesTableModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobPropertiesTableModel.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include <QLocale>
 
 namespace {
diff --git a/GUI/View/Job/JobPropertiesWidget.cpp b/GUI/View/Job/JobPropertiesWidget.cpp
index 09df26e60e7075f5d4249635ff9141e9ab3ff712..be1b507c4ebae364157d35c8513f51171e99bca0 100644
--- a/GUI/View/Job/JobPropertiesWidget.cpp
+++ b/GUI/View/Job/JobPropertiesWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobPropertiesWidget.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/View/Job/JobPropertiesTableModel.h"
 #include "GUI/View/Tool/StyleUtils.h"
 #include "GUI/View/Tool/mainwindow_constants.h"
diff --git a/GUI/View/Job/JobResultsPresenter.cpp b/GUI/View/Job/JobResultsPresenter.cpp
index 0ddb2e9b567a52e73f6f6c09ab51718cf3c781d6..c516ac44ee3cddda20c25e39d98c304a1be49e5c 100644
--- a/GUI/View/Job/JobResultsPresenter.cpp
+++ b/GUI/View/Job/JobResultsPresenter.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobResultsPresenter.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
 #include "GUI/View/Job/JobViewActivities.h"
 #include "GUI/View/Plot2D/IntensityDataWidget.h"
 #include "GUI/View/PlotComparison/FitComparisonWidget.h"
diff --git a/GUI/View/Job/JobSelectorWidget.cpp b/GUI/View/Job/JobSelectorWidget.cpp
index 260b5e19788a82a9f3940de56ebe4ec0711eee34..848a4ce328d31197cc9f383bf7ee82e5b730fbe6 100644
--- a/GUI/View/Job/JobSelectorWidget.cpp
+++ b/GUI/View/Job/JobSelectorWidget.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Job/JobSelectorWidget.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/View/Job/JobListView.h"
 #include "GUI/View/Job/JobPropertiesWidget.h"
 #include "GUI/View/Tool/mainwindow_constants.h"
diff --git a/GUI/View/Job/JobView.cpp b/GUI/View/Job/JobView.cpp
index da5d5d2c3f82758e35e4448eed5143585b390b14..c55da5fb206c248cf095143c0f37239080d53bc0 100644
--- a/GUI/View/Job/JobView.cpp
+++ b/GUI/View/Job/JobView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Job/JobView.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/View/Common/DocksController.h"
 #include "GUI/View/Fit/FitActivityPanel.h"
 #include "GUI/View/Fit/JobMessagePanel.h"
diff --git a/GUI/View/Loaders/AutomaticDataLoader1D.cpp b/GUI/View/Loaders/AutomaticDataLoader1D.cpp
index 42588f00c800edd3a490ed264f146383b95da4ad..a9c96b856b73d4e756c928086d7ff51af975e1ce 100644
--- a/GUI/View/Loaders/AutomaticDataLoader1D.cpp
+++ b/GUI/View/Loaders/AutomaticDataLoader1D.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/Loaders/AutomaticDataLoader1D.h"
 #include "Device/InputOutput/OutputDataReadReflectometry.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 #include "GUI/Support/IO/ImportDataInfo.h"
 #include "GUI/Util/DeserializationException.h"
 #include "GUI/View/Loaders/AutomaticDataLoader1DResultModel.h"
diff --git a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp
index 465df9c1eb631375c4905967b8176dd1ace0e0d3..8a98bb94052b6f82a5d36a6631c04ef27fe74075 100644
--- a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp
+++ b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Loaders/AutomaticDataLoader1DResultModel.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 
 AutomaticDataLoader1DResultModel::AutomaticDataLoader1DResultModel(RealDataItem* item)
     : m_item(item)
diff --git a/GUI/View/Loaders/QREDataLoader.cpp b/GUI/View/Loaders/QREDataLoader.cpp
index 788d0c486391638deae897b3b7b33e79b270b55c..6de53630c7aa4c09303efd97c304c883455d58be 100644
--- a/GUI/View/Loaders/QREDataLoader.cpp
+++ b/GUI/View/Loaders/QREDataLoader.cpp
@@ -15,8 +15,8 @@
 #include "GUI/View/Loaders/QREDataLoader.h"
 #include "Base/Axis/PointwiseAxis.h"
 #include "Device/Coord/AxisNames.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 #include "GUI/Util/CoordName.h"
 #include "GUI/Util/DeserializationException.h"
 #include "GUI/View/Loaders/QREDataLoaderProperties.h"
diff --git a/GUI/View/Main/MainWindow.cpp b/GUI/View/Main/MainWindow.cpp
index 5b78a0fb43d6976dc3e1e518898915d23f37bf2b..98a1865134d73a31f30b5446444a537f93bbc27d 100644
--- a/GUI/View/Main/MainWindow.cpp
+++ b/GUI/View/Main/MainWindow.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Main/MainWindow.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/Util/Path.h"
 #include "GUI/View/Import/ImportDataView.h"
diff --git a/GUI/View/Mask/EllipseView.cpp b/GUI/View/Mask/EllipseView.cpp
index 1bc5dab5fd4fe32ed71907d0ab1a7df6f4d6c026..befd1d7dd1235bef50f59c47ca9c92a5c5da5e8c 100644
--- a/GUI/View/Mask/EllipseView.cpp
+++ b/GUI/View/Mask/EllipseView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/EllipseView.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include <QGraphicsSceneMouseEvent>
 #include <QPainter>
 
diff --git a/GUI/View/Mask/IShape2DView.cpp b/GUI/View/Mask/IShape2DView.cpp
index eac8871c71f6cf194d6a5ca3005ba3e9913c9a2e..24c8fb001ed8690670058e33f69f4a0f4534e1f1 100644
--- a/GUI/View/Mask/IShape2DView.cpp
+++ b/GUI/View/Mask/IShape2DView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/IShape2DView.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/View/Mask/ISceneAdaptor.h"
 #include <QAction>
 #include <QGraphicsScene>
diff --git a/GUI/View/Mask/LineViews.cpp b/GUI/View/Mask/LineViews.cpp
index 7f8dd8825cb28e51d156937c201b113670928151..38b142bc03fb43030402331e68faaf8337210d87 100644
--- a/GUI/View/Mask/LineViews.cpp
+++ b/GUI/View/Mask/LineViews.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/LineViews.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/View/Mask/ColorMapSceneAdaptor.h"
 #include <QCursor>
 #include <QPainter>
diff --git a/GUI/View/Mask/MaskAllView.cpp b/GUI/View/Mask/MaskAllView.cpp
index d7339f8387a87f12b77b162e18b4698ec572f1bb..b2a1d6a6b3bf420f333d9ac6b95c2a254e30c324 100644
--- a/GUI/View/Mask/MaskAllView.cpp
+++ b/GUI/View/Mask/MaskAllView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskAllView.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/View/Mask/ColorMapSceneAdaptor.h"
 #include <QBrush>
 #include <QPainter>
diff --git a/GUI/View/Mask/MaskContainerView.cpp b/GUI/View/Mask/MaskContainerView.cpp
index a7220062875b37eb973a5c3eb782316dce962d6e..0dc02a752bfb1c83a9aeddb77ccf9aa7c61e4a35 100644
--- a/GUI/View/Mask/MaskContainerView.cpp
+++ b/GUI/View/Mask/MaskContainerView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskContainerView.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
 #include "GUI/View/Mask/ISceneAdaptor.h"
 #include <QBrush>
 #include <QPainter>
diff --git a/GUI/View/Mask/MaskDrawingContext.cpp b/GUI/View/Mask/MaskDrawingContext.cpp
index 6bc4947480aeedbf17e1ccaefd7bcff4bac9e8a2..7eca5541cc3191e82a96e784bc08389d053e6c58 100644
--- a/GUI/View/Mask/MaskDrawingContext.cpp
+++ b/GUI/View/Mask/MaskDrawingContext.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskDrawingContext.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 
 MaskDrawingContext::MaskDrawingContext()
     : m_current_activity(MaskEditorFlags::PAN_ZOOM_MODE)
diff --git a/GUI/View/Mask/MaskEditor.cpp b/GUI/View/Mask/MaskEditor.cpp
index 146bf115882d711084293ec5b58d5c2ea0abf88d..04e2a92f9a39306aaa2a67b635f7f605eea38fd9 100644
--- a/GUI/View/Mask/MaskEditor.cpp
+++ b/GUI/View/Mask/MaskEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskEditor.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/Mask/MaskEditorActions.h"
 #include "GUI/View/Mask/MaskEditorCanvas.h"
 #include "GUI/View/Mask/MaskEditorPropertyPanel.h"
diff --git a/GUI/View/Mask/MaskEditorActions.cpp b/GUI/View/Mask/MaskEditorActions.cpp
index b46f24d513a537677eb883859097e0d6b90239b3..3562c3157750652bd5cb9e46e4345cfd261de8a5 100644
--- a/GUI/View/Mask/MaskEditorActions.cpp
+++ b/GUI/View/Mask/MaskEditorActions.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskEditorActions.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/ActionFactory.h"
 #include <QAction>
 #include <QItemSelectionModel>
diff --git a/GUI/View/Mask/MaskEditorCanvas.cpp b/GUI/View/Mask/MaskEditorCanvas.cpp
index 194b888e6f246503ff8fda9b6f3c289446f38b5c..f0b4dfcc11fc6399c592125bd39c93ba493dd7ab 100644
--- a/GUI/View/Mask/MaskEditorCanvas.cpp
+++ b/GUI/View/Mask/MaskEditorCanvas.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskEditorCanvas.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/View/Mask/MaskGraphicsScene.h"
diff --git a/GUI/View/Mask/MaskEditorPropertyPanel.cpp b/GUI/View/Mask/MaskEditorPropertyPanel.cpp
index c6b8201ef9c1746e50c5c0c97272d59425a695b8..84bdb11b3430a4cbbe696624de7ba64db4f9813c 100644
--- a/GUI/View/Mask/MaskEditorPropertyPanel.cpp
+++ b/GUI/View/Mask/MaskEditorPropertyPanel.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskEditorPropertyPanel.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/PlotUtil/IntensityDataPropertyWidget.h"
 #include "GUI/View/Tool/GroupBoxCollapser.h"
diff --git a/GUI/View/Mask/MaskGraphicsProxy.cpp b/GUI/View/Mask/MaskGraphicsProxy.cpp
index 887cb4613dc21c843e8c9a335e609c6e65885785..03fb94b48262e0cef85e7701d4d49c5fdf3f639b 100644
--- a/GUI/View/Mask/MaskGraphicsProxy.cpp
+++ b/GUI/View/Mask/MaskGraphicsProxy.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskGraphicsProxy.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
 #include "GUI/View/Mask/ColorMapSceneAdaptor.h"
 #include "GUI/View/PlotUtil/ColorMap.h"
 #include <QGraphicsSceneMouseEvent>
diff --git a/GUI/View/Mask/MaskGraphicsScene.cpp b/GUI/View/Mask/MaskGraphicsScene.cpp
index 0e58cf0fdef78ca7bd130f02603ce6451b60002e..d92bc42cc22f93a431512ec74e6680c78ee54040 100644
--- a/GUI/View/Mask/MaskGraphicsScene.cpp
+++ b/GUI/View/Mask/MaskGraphicsScene.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskGraphicsScene.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
-#include "GUI/Model/Session/PropertyItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
+#include "GUI/Model/Item/PropertyItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Mask/ColorMapSceneAdaptor.h"
 #include "GUI/View/Mask/MaskGraphicsProxy.h"
diff --git a/GUI/View/Mask/MaskResultsPresenter.cpp b/GUI/View/Mask/MaskResultsPresenter.cpp
index 66575419810fed348d074ffaa4dce263d77df7d3..195720d232b98cf172bdb1c47fdfba2138758962 100644
--- a/GUI/View/Mask/MaskResultsPresenter.cpp
+++ b/GUI/View/Mask/MaskResultsPresenter.cpp
@@ -14,9 +14,9 @@
 
 #include "GUI/View/Mask/MaskResultsPresenter.h"
 #include "Device/Mask/DetectorMask.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include <QVBoxLayout>
 
 MaskResultsPresenter::MaskResultsPresenter(QWidget* parent)
diff --git a/GUI/View/Mask/MaskViewFactory.cpp b/GUI/View/Mask/MaskViewFactory.cpp
index b31ed8463814f077df2fafcf0e678b25a5fd14f2..0af2bb56043a8057f133c5c7c35f70399171f090 100644
--- a/GUI/View/Mask/MaskViewFactory.cpp
+++ b/GUI/View/Mask/MaskViewFactory.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/MaskViewFactory.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Mask/EllipseView.h"
 #include "GUI/View/Mask/LineViews.h"
diff --git a/GUI/View/Mask/PolygonPointView.cpp b/GUI/View/Mask/PolygonPointView.cpp
index 02fe2abb1024cf2062c0b6b18f8ee737e19d7fd2..6e10881e34441a85142ee300bb60269ae82f9606 100644
--- a/GUI/View/Mask/PolygonPointView.cpp
+++ b/GUI/View/Mask/PolygonPointView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/PolygonPointView.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include <QGraphicsSceneMouseEvent>
 #include <QPainter>
 
diff --git a/GUI/View/Mask/PolygonView.cpp b/GUI/View/Mask/PolygonView.cpp
index 302ea963c5d287ceda53649816db50337708dfdc..f4a24024c0164a13d36be50c6a251849c6e1b323 100644
--- a/GUI/View/Mask/PolygonView.cpp
+++ b/GUI/View/Mask/PolygonView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/PolygonView.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/View/Mask/PolygonPointView.h"
 #include <QCursor>
 #include <QPainter>
diff --git a/GUI/View/Mask/RectangleView.cpp b/GUI/View/Mask/RectangleView.cpp
index dea290bcdcb4c5886041203913b802b57f4af83f..7cfd5f4b033903122678182fb4622fdf124f04c1 100644
--- a/GUI/View/Mask/RectangleView.cpp
+++ b/GUI/View/Mask/RectangleView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/RectangleView.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include <QGraphicsSceneMouseEvent>
 #include <QPainter>
 
diff --git a/GUI/View/Mask/RegionOfInterestView.cpp b/GUI/View/Mask/RegionOfInterestView.cpp
index 31940467b838f3e1b9d667d74ac5600b6fbd0d7d..9c6787faba445351f98165d4f4e219a8c0f344c7 100644
--- a/GUI/View/Mask/RegionOfInterestView.cpp
+++ b/GUI/View/Mask/RegionOfInterestView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Mask/RegionOfInterestView.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/View/Mask/ISceneAdaptor.h"
 #include <QPainter>
 
diff --git a/GUI/View/MaterialEditor/MaterialEditorDialog.cpp b/GUI/View/MaterialEditor/MaterialEditorDialog.cpp
index 5a3418c2c48668bd5954cdb3b6e8f682c154bb7c..36acac7672f97b10e3d4ad3cd7b0edebe9bf67de 100644
--- a/GUI/View/MaterialEditor/MaterialEditorDialog.cpp
+++ b/GUI/View/MaterialEditor/MaterialEditorDialog.cpp
@@ -14,13 +14,13 @@
 
 #include "GUI/View/MaterialEditor/MaterialEditorDialog.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
 #include "GUI/Model/Project/ProjectDocument.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/View/MaterialEditor/MaterialEditorModel.h"
 #include "GUI/View/Tool/EditUtil.h"
 #include "GUI/View/Tool/StyleUtils.h"
diff --git a/GUI/View/MaterialEditor/MaterialEditorModel.cpp b/GUI/View/MaterialEditor/MaterialEditorModel.cpp
index 57e1ef336b35cee1ad8d216a3ff2a4690abce6f6..18df7d083d4115b886303c9060e9df0a93dd6fb6 100644
--- a/GUI/View/MaterialEditor/MaterialEditorModel.cpp
+++ b/GUI/View/MaterialEditor/MaterialEditorModel.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/MaterialEditor/MaterialEditorModel.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include <QApplication>
 #include <QFontMetrics>
 #include <QPixmap>
diff --git a/GUI/View/Plot2D/IntensityDataCanvas.cpp b/GUI/View/Plot2D/IntensityDataCanvas.cpp
index b32f288ff9d6722371db3da51fb6344a5012d83f..f3864074a26967b006d57d92412b773641557727 100644
--- a/GUI/View/Plot2D/IntensityDataCanvas.cpp
+++ b/GUI/View/Plot2D/IntensityDataCanvas.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Plot2D/IntensityDataCanvas.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/Util/ComboProperty.h"
diff --git a/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp b/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp
index 6fe6255d9e28488d7c5ef180ce0547766a05dac5..36ddc9af1eeac0069932fd8a29239ffb3e11ca76 100644
--- a/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp
+++ b/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/Plot2D/IntensityDataFFTPresenter.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Util/Error.h"
 #include <QAction>
 #include <QApplication>
diff --git a/GUI/View/Plot2D/IntensityDataWidget.cpp b/GUI/View/Plot2D/IntensityDataWidget.cpp
index 69e4dc86bbc1dddb7a48f2fee28d9e3e592f8c40..6f70bae100162f9ada190c454c5deec55dd776d1 100644
--- a/GUI/View/Plot2D/IntensityDataWidget.cpp
+++ b/GUI/View/Plot2D/IntensityDataWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Plot2D/IntensityDataWidget.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/Plot2D/IntensityDataCanvas.h"
 #include "GUI/View/Plot2D/IntensityDataFFTPresenter.h"
diff --git a/GUI/View/PlotComparison/FitComparisonController.cpp b/GUI/View/PlotComparison/FitComparisonController.cpp
index f2dfa56bba8b8960d53351733223e9dacc28e6a1..02b99bc97f05255fa2671a5697a2ade287f0822c 100644
--- a/GUI/View/PlotComparison/FitComparisonController.cpp
+++ b/GUI/View/PlotComparison/FitComparisonController.cpp
@@ -14,11 +14,11 @@
 
 #include "GUI/View/PlotComparison/FitComparisonController.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/View/PlotComparison/PropertyRepeater.h"
 
 namespace {
diff --git a/GUI/View/PlotComparison/FitComparisonViewController.cpp b/GUI/View/PlotComparison/FitComparisonViewController.cpp
index 59faa2aaa066f68d473715ea345838222f4dc6c7..f6deff31081429528e00cb43e82e6a0e2aeb4c7f 100644
--- a/GUI/View/PlotComparison/FitComparisonViewController.cpp
+++ b/GUI/View/PlotComparison/FitComparisonViewController.cpp
@@ -14,11 +14,11 @@
 
 #include "GUI/View/PlotComparison/FitComparisonViewController.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
 #include "GUI/Model/Plot/DataPropertyContainer.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/View/PlotComparison/PropertyRepeater.h"
diff --git a/GUI/View/PlotComparison/FitComparisonWidget.cpp b/GUI/View/PlotComparison/FitComparisonWidget.cpp
index b9df750fa93b21e6216cb643d853406beb0107bc..79e5fb5fcdc8b9c80fb2ec7a2113cc1d11630472 100644
--- a/GUI/View/PlotComparison/FitComparisonWidget.cpp
+++ b/GUI/View/PlotComparison/FitComparisonWidget.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotComparison/FitComparisonWidget.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/PlotComparison/FitComparisonController.h"
 #include "GUI/View/PlotComparison/FitFlowWidget.h"
diff --git a/GUI/View/PlotComparison/FitComparisonWidget1D.cpp b/GUI/View/PlotComparison/FitComparisonWidget1D.cpp
index 2714eeab4bfb178acb44fb907d7c0a8a17878acb..3323b1a4d1e3f2be47e678fb3c66df550418857b 100644
--- a/GUI/View/PlotComparison/FitComparisonWidget1D.cpp
+++ b/GUI/View/PlotComparison/FitComparisonWidget1D.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotComparison/FitComparisonWidget1D.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/PlotComparison/FitComparisonViewController.h"
 #include "GUI/View/PlotComparison/FitFlowWidget.h"
diff --git a/GUI/View/PlotComparison/FitFlowWidget.cpp b/GUI/View/PlotComparison/FitFlowWidget.cpp
index 615a1bcc59ae705ece449b7554eee718034fd3f8..e74277f85727ddf73e7ae103f668908879731d24 100644
--- a/GUI/View/PlotComparison/FitFlowWidget.cpp
+++ b/GUI/View/PlotComparison/FitFlowWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotComparison/FitFlowWidget.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
 #include "GUI/View/PlotComparison/HistogramPlot.h"
 #include <QVBoxLayout>
 
diff --git a/GUI/View/PlotComparison/Plot1D.cpp b/GUI/View/PlotComparison/Plot1D.cpp
index a9599449246418338e391214d24c2a96dfcce1c4..a47ffab834fd9b7ebd709f22f81238e44a14a7ff 100644
--- a/GUI/View/PlotComparison/Plot1D.cpp
+++ b/GUI/View/PlotComparison/Plot1D.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotComparison/Plot1D.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
 #include "GUI/Model/Plot/DataProperties.h"
 #include "GUI/Model/Plot/DataPropertyContainer.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "GUI/View/PlotUtil/PlotConstants.h"
 #include "GUI/View/PlotUtil/PlotEventInfo.h"
 #include "GUI/View/PlotUtil/RangeUtils.h"
diff --git a/GUI/View/PlotComparison/PropertyRepeater.cpp b/GUI/View/PlotComparison/PropertyRepeater.cpp
index dc6fb033138779b452242bc31f4289c94fb8b804..92514e75925450515d3655a34d030e227375373b 100644
--- a/GUI/View/PlotComparison/PropertyRepeater.cpp
+++ b/GUI/View/PlotComparison/PropertyRepeater.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotComparison/PropertyRepeater.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
 
 PropertyRepeater::PropertyRepeater(QObject* parent, bool repeat_child_properties)
     : QObject(parent)
diff --git a/GUI/View/PlotSpecular/SpecularDataCanvas.cpp b/GUI/View/PlotSpecular/SpecularDataCanvas.cpp
index 015b4ff5d5be04525a560b85f9dd05d1b32efa33..c58e109d3b0a22527dfbeeff9211f872996ba27b 100644
--- a/GUI/View/PlotSpecular/SpecularDataCanvas.cpp
+++ b/GUI/View/PlotSpecular/SpecularDataCanvas.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotSpecular/SpecularDataCanvas.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/View/PlotSpecular/SpecularPlotCanvas.h"
diff --git a/GUI/View/PlotSpecular/SpecularDataWidget.cpp b/GUI/View/PlotSpecular/SpecularDataWidget.cpp
index 793bfedec0b2c97cd0bf9ccf8864b749921ae736..502f15116ef526e218006b42e7d1fa48b0219419 100644
--- a/GUI/View/PlotSpecular/SpecularDataWidget.cpp
+++ b/GUI/View/PlotSpecular/SpecularDataWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotSpecular/SpecularDataWidget.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/PlotSpecular/SpecularDataCanvas.h"
 #include "GUI/View/PropertyEditor/SpecularDataPropertyWidget.h"
diff --git a/GUI/View/PlotSpecular/SpecularPlot.cpp b/GUI/View/PlotSpecular/SpecularPlot.cpp
index 4020e11da29f0b3a4c0923b7493ca7d141955582..a7562c8f672e8be76eb7d475d5bc8e934faa7b77 100644
--- a/GUI/View/PlotSpecular/SpecularPlot.cpp
+++ b/GUI/View/PlotSpecular/SpecularPlot.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotSpecular/SpecularPlot.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 #include "GUI/View/PlotUtil/PlotConstants.h"
 #include "GUI/View/PlotUtil/PlotEventInfo.h"
 #include "GUI/View/PlotUtil/RangeUtils.h"
diff --git a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
index 3f2a23843e9899adbe86522ae0df8607b17b5a33..fc107284e878890b7463897ca6540d7a86178a20 100644
--- a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
+++ b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotSpecular/SpecularPlotCanvas.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 #include "GUI/View/PlotSpecular/SpecularPlot.h"
 #include "GUI/View/PlotUtil/FontScalingEvent.h"
 #include "GUI/View/PlotUtil/PlotStatusLabel.h"
diff --git a/GUI/View/PlotUtil/ColorMap.cpp b/GUI/View/PlotUtil/ColorMap.cpp
index 3166b44e610b7f625e0ac83befea207803d5e2c2..3aa38f13a4ae58d738bcf31e60c2c89a43b08d4a 100644
--- a/GUI/View/PlotUtil/ColorMap.cpp
+++ b/GUI/View/PlotUtil/ColorMap.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotUtil/ColorMap.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
 #include "GUI/View/PlotUtil/PlotConstants.h"
 #include "GUI/View/PlotUtil/PlotEventInfo.h"
 #include "GUI/View/PlotUtil/RangeUtils.h"
diff --git a/GUI/View/PlotUtil/ColorMapCanvas.cpp b/GUI/View/PlotUtil/ColorMapCanvas.cpp
index d3025fde2037fbd1ef8c56f1a3518b3c07f2671e..c5c639a5206dc54169c7a9173d7d0864be05a5a0 100644
--- a/GUI/View/PlotUtil/ColorMapCanvas.cpp
+++ b/GUI/View/PlotUtil/ColorMapCanvas.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotUtil/ColorMapCanvas.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
 #include "GUI/View/PlotUtil/ColorMap.h"
 #include "GUI/View/PlotUtil/FontScalingEvent.h"
 #include "GUI/View/PlotUtil/PlotStatusLabel.h"
diff --git a/GUI/View/PlotUtil/IntensityDataPropertyWidget.cpp b/GUI/View/PlotUtil/IntensityDataPropertyWidget.cpp
index a22e0529021d70d5351e032c447169459fa9422d..9b2322307677f3c0a1d08814c1cf8b92362b498c 100644
--- a/GUI/View/PlotUtil/IntensityDataPropertyWidget.cpp
+++ b/GUI/View/PlotUtil/IntensityDataPropertyWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotUtil/IntensityDataPropertyWidget.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/Tool/LayoutUtils.h"
diff --git a/GUI/View/PlotUtil/RangeUtils.cpp b/GUI/View/PlotUtil/RangeUtils.cpp
index 1300e4d216d16493883e5bf6199c2948bc6b4bd7..7767f16f17cb0ad955a9072671e89cefb3d5b789 100644
--- a/GUI/View/PlotUtil/RangeUtils.cpp
+++ b/GUI/View/PlotUtil/RangeUtils.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PlotUtil/RangeUtils.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Tool/StyleUtils.h"
 
diff --git a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
index 1c48c9ade2ac1ba439a541845da6506b809a2d5f..f74b5e11f1993878182fd0ae284f7d13af0ed523 100644
--- a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
+++ b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Projection/IntensityDataProjectionsWidget.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/ProjectionItems.h"
 #include "GUI/View/Projection/ProjectionsEditor.h"
 #include "GUI/View/Tool/DataItemUtils.h"
 #include <QVBoxLayout>
diff --git a/GUI/View/Projection/ProjectionsEditor.cpp b/GUI/View/Projection/ProjectionsEditor.cpp
index e71d120ec120b9d1820f7335e519c60744a08eb8..c72d92d6d1eaedafbd54a619524ceac387836a4d 100644
--- a/GUI/View/Projection/ProjectionsEditor.cpp
+++ b/GUI/View/Projection/ProjectionsEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Projection/ProjectionsEditor.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/PlotUtil/IntensityDataPropertyWidget.h"
 #include "GUI/View/Projection/ProjectionsEditorActions.h"
 #include "GUI/View/Projection/ProjectionsEditorCanvas.h"
diff --git a/GUI/View/Projection/ProjectionsEditorActions.cpp b/GUI/View/Projection/ProjectionsEditorActions.cpp
index a4951de1d5362c31fb8b416cfd000842bf68e6e5..5527f738c5ccc943800e691a0ab04c8b0218beff 100644
--- a/GUI/View/Projection/ProjectionsEditorActions.cpp
+++ b/GUI/View/Projection/ProjectionsEditorActions.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Projection/ProjectionsEditorActions.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/Projection/SaveProjectionsAssistant.h"
 #include <QAction>
 #include <QItemSelectionModel>
diff --git a/GUI/View/Projection/ProjectionsEditorCanvas.cpp b/GUI/View/Projection/ProjectionsEditorCanvas.cpp
index f1ac31ce41bf67f657b90c719b91eb3485a78731..34786445ccfa2dac7596be0ab75e88a67e9787ab 100644
--- a/GUI/View/Projection/ProjectionsEditorCanvas.cpp
+++ b/GUI/View/Projection/ProjectionsEditorCanvas.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Projection/ProjectionsEditorCanvas.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/Mask/MaskGraphicsScene.h"
 #include "GUI/View/Mask/MaskGraphicsView.h"
 #include "GUI/View/PlotUtil/ColorMap.h"
diff --git a/GUI/View/Projection/ProjectionsPlot.cpp b/GUI/View/Projection/ProjectionsPlot.cpp
index 8f87149d3a9212116e6f98468db4a790b881009d..2be3840bb27b076cafc625516354b3fe8af8a9dd 100644
--- a/GUI/View/Projection/ProjectionsPlot.cpp
+++ b/GUI/View/Projection/ProjectionsPlot.cpp
@@ -15,10 +15,10 @@
 #include "GUI/View/Projection/ProjectionsPlot.h"
 #include "Device/Histo/Histogram1D.h"
 #include "Device/Histo/Histogram2D.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
 #include "GUI/View/PlotUtil/PlotConstants.h"
 #include "GUI/View/PlotUtil/RangeUtils.h"
 #include <qcustomplot.h>
diff --git a/GUI/View/Projection/ProjectionsWidget.cpp b/GUI/View/Projection/ProjectionsWidget.cpp
index 90249aac9ae4d39f45d0b4616efb43d345262cdb..7ad38ac518ecff6a5639c51fb2a5c6e3da760c80 100644
--- a/GUI/View/Projection/ProjectionsWidget.cpp
+++ b/GUI/View/Projection/ProjectionsWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Projection/ProjectionsWidget.h"
-#include "GUI/Model/Mask/MaskItems.h"
+#include "GUI/Model/Item/MaskItems.h"
 #include "GUI/View/Projection/ProjectionsPlot.h"
 #include <QTabWidget>
 #include <QVBoxLayout>
diff --git a/GUI/View/Projection/SaveProjectionsAssistant.cpp b/GUI/View/Projection/SaveProjectionsAssistant.cpp
index ac6e03fc9e21e63eeea90394baf14ecf49b4b485..729fc5c46464dd25947e1a1f605b7935dc0c9b3f 100644
--- a/GUI/View/Projection/SaveProjectionsAssistant.cpp
+++ b/GUI/View/Projection/SaveProjectionsAssistant.cpp
@@ -17,9 +17,9 @@
 #include "Device/Histo/Histogram1D.h"
 #include "Device/Histo/Histogram2D.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/View/PropertyEditor/PropertyEditorFactory.cpp b/GUI/View/PropertyEditor/PropertyEditorFactory.cpp
index 212991f64846859f3c443315db3690886cad1034..e80d31a816be327dc00e3765d6170c66f6dfe066 100644
--- a/GUI/View/PropertyEditor/PropertyEditorFactory.cpp
+++ b/GUI/View/PropertyEditor/PropertyEditorFactory.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PropertyEditor/PropertyEditorFactory.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/View/PropertyEditor/CustomEditors.h"
 #include "GUI/View/PropertyEditor/ScientificSpinBox.h"
diff --git a/GUI/View/PropertyEditor/SpecularDataPropertyWidget.cpp b/GUI/View/PropertyEditor/SpecularDataPropertyWidget.cpp
index 1e05d408f2acec3d653d19388c61fcee53820672..0d6a673842594eaf8abe1e984ef0d73fa9062928 100644
--- a/GUI/View/PropertyEditor/SpecularDataPropertyWidget.cpp
+++ b/GUI/View/PropertyEditor/SpecularDataPropertyWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/PropertyEditor/SpecularDataPropertyWidget.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Plot/Data1DViewItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/Data1DViewItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/Tool/LayoutUtils.h"
diff --git a/GUI/View/Realspace/RealSpaceBuilder.cpp b/GUI/View/Realspace/RealSpaceBuilder.cpp
index 6746d8c37673ba861182d013e73b441564f91f46..090a446dd6b2c7e111be5fae5ff90f34697241d0 100644
--- a/GUI/View/Realspace/RealSpaceBuilder.cpp
+++ b/GUI/View/Realspace/RealSpaceBuilder.cpp
@@ -13,14 +13,14 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Realspace/RealSpaceBuilder.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/View/Realspace/IPositionBuilder.h"
 #include "GUI/View/Realspace/Particle3DContainer.h"
diff --git a/GUI/View/Realspace/RealSpaceBuilder.h b/GUI/View/Realspace/RealSpaceBuilder.h
index c6a3d4ddad1caa4d6011ef027f23d6bbecb896c5..e3e74cd376648ea2eb22ad54b77e90a039a6fba4 100644
--- a/GUI/View/Realspace/RealSpaceBuilder.h
+++ b/GUI/View/Realspace/RealSpaceBuilder.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACEBUILDER_H
 #define BORNAGAIN_GUI_VIEW_REALSPACE_REALSPACEBUILDER_H
 
-#include "GUI/Model/Sample/SampleItem.h"
+#include "GUI/Model/Item/SampleItem.h"
 #include "GUI/View/Realspace/RealSpaceBuilderUtils.h"
 #include "GUI/ba3d/view/camera.h"
 #include <QVector3D>
diff --git a/GUI/View/Realspace/RealSpaceBuilderUtils.cpp b/GUI/View/Realspace/RealSpaceBuilderUtils.cpp
index 184c71fc8d3d10085f2169b3eca5a4c5eee98435..f10927ebc67b519f04a483f35c59f642ed2d6da4 100644
--- a/GUI/View/Realspace/RealSpaceBuilderUtils.cpp
+++ b/GUI/View/Realspace/RealSpaceBuilderUtils.cpp
@@ -15,13 +15,13 @@
 #include "GUI/View/Realspace/RealSpaceBuilderUtils.h"
 #include "Base/Const/Units.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/View/Realspace/Particle3DContainer.h"
 #include "GUI/View/Realspace/RealSpaceBuilder.h"
diff --git a/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp b/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp
index 662de6b135bec78245e544ecf1527a1604ebc771..b5084dd5fc05fecccec0a89bb18905af02b8c7eb 100644
--- a/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp
+++ b/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/Realspace/RealSpaceMesoCrystalUtils.h"
 #include "Base/Const/Units.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
 #include "GUI/View/Realspace/Particle3DContainer.h"
 #include "GUI/View/Realspace/RealSpaceBuilderUtils.h"
 #include "GUI/View/Realspace/TransformTo3D.h"
diff --git a/GUI/View/Realspace/TransformTo3D.cpp b/GUI/View/Realspace/TransformTo3D.cpp
index 8c05d21ab27a1746a778da14ca43b70c7af6e34c..836c8784fbc4e07467903255d4b8491bedba9783 100644
--- a/GUI/View/Realspace/TransformTo3D.cpp
+++ b/GUI/View/Realspace/TransformTo3D.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Realspace/TransformTo3D.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/View/Realspace/RealSpaceCanvas.h"
 #include "Sample/HardParticle/HardParticles.h"
 
diff --git a/GUI/View/SampleDesigner/InterferenceForm.cpp b/GUI/View/SampleDesigner/InterferenceForm.cpp
index 303c1480a34fe8a8a891c3a436c3b69c2af32dad..09bf9fe670cfbea2895c8ef9677aa3054d80c556 100644
--- a/GUI/View/SampleDesigner/InterferenceForm.cpp
+++ b/GUI/View/SampleDesigner/InterferenceForm.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/InterferenceForm.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include "GUI/View/PropertyEditor/CustomEventFilters.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
diff --git a/GUI/View/SampleDesigner/LatticeTypeSelectionForm.cpp b/GUI/View/SampleDesigner/LatticeTypeSelectionForm.cpp
index 940c7bc4ba2ce3897db4cadae810dcae86b6d0b6..fe187692771fc86ba4c3fcbcb9c660006731d8f2 100644
--- a/GUI/View/SampleDesigner/LatticeTypeSelectionForm.cpp
+++ b/GUI/View/SampleDesigner/LatticeTypeSelectionForm.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/LatticeTypeSelectionForm.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
 #include <QCheckBox>
 #include <QLabel>
 
diff --git a/GUI/View/SampleDesigner/LatticeTypeSelectionForm.h b/GUI/View/SampleDesigner/LatticeTypeSelectionForm.h
index 8bfb7b1bf64e3906cd356134867cae7fb7a637f7..7f50641854c16fd1476a4d455510a128f8b6912d 100644
--- a/GUI/View/SampleDesigner/LatticeTypeSelectionForm.h
+++ b/GUI/View/SampleDesigner/LatticeTypeSelectionForm.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_LATTICETYPESELECTIONFORM_H
 #define BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_LATTICETYPESELECTIONFORM_H
 
-#include "GUI/Model/Sample/InterferenceItems.h"
+#include "GUI/Model/Item/InterferenceItems.h"
 #include "GUI/View/SampleDesigner/SelectionContainerForm.h"
 
 class SampleEditorController;
diff --git a/GUI/View/SampleDesigner/LayerEditorUtils.cpp b/GUI/View/SampleDesigner/LayerEditorUtils.cpp
index 0c7496f49b0b34bde0e2c07270e2936c14d193e9..1783186ad988841d06f62c6dc0bd8739a437f3f0 100644
--- a/GUI/View/SampleDesigner/LayerEditorUtils.cpp
+++ b/GUI/View/SampleDesigner/LayerEditorUtils.cpp
@@ -13,14 +13,14 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/LayerEditorUtils.h"
-#include "GUI/Model/Sample/FTDecayFunctionItems.h"
-#include "GUI/Model/Sample/FTDistributionItems.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/LayerRoughnessItems.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/FTDecayFunctionItems.h"
+#include "GUI/Model/Item/FTDistributionItems.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/LayerRoughnessItems.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
diff --git a/GUI/View/SampleDesigner/LayerEditorUtils.h b/GUI/View/SampleDesigner/LayerEditorUtils.h
index d0cd570803ff9d357dac5336226ba755ffdf9716..849dc11cdfe5e34c5a2c64378fcd5b6d3a926bf3 100644
--- a/GUI/View/SampleDesigner/LayerEditorUtils.h
+++ b/GUI/View/SampleDesigner/LayerEditorUtils.h
@@ -17,8 +17,8 @@
 
 #include "GUI/Model/Types/DoubleDescriptor.h"
 
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/ItemWithParticlesCatalog.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/ItemWithParticlesCatalog.h"
 #include <QColor>
 #include <QList>
 #include <functional>
diff --git a/GUI/View/SampleDesigner/LayerForm.cpp b/GUI/View/SampleDesigner/LayerForm.cpp
index 4d2af0e9fe6df635a51d0ad97ac3c53696afea91..c203c9571afc47ac04e4e74909948c162c68c2ec 100644
--- a/GUI/View/SampleDesigner/LayerForm.cpp
+++ b/GUI/View/SampleDesigner/LayerForm.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/LayerForm.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/SampleDesigner/MaterialInplaceForm.h"
 #include "GUI/View/SampleDesigner/ParticleLayoutForm.h"
diff --git a/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp b/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp
index b01290d49293891c5a6bed0cddea53b025721682..56b0b22c760f36eb376e587f87166b51a925fbf9 100644
--- a/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp
+++ b/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp
@@ -15,8 +15,8 @@
 #include "GUI/View/SampleDesigner/LayerOrientedSampleEditor.h"
 #include "GUI/Application/ApplicationSettings.h"
 #include "GUI/Model/Project/ProjectDocument.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/View/Common/StyledToolBar.h"
 #include "GUI/View/SampleDesigner/LayerEditorUtils.h"
 #include "GUI/View/SampleDesigner/MultiLayerForm.h"
diff --git a/GUI/View/SampleDesigner/LayerOrientedSampleEditor.h b/GUI/View/SampleDesigner/LayerOrientedSampleEditor.h
index 154ece95e52722582299ac200f6f9a7f8ebd1a69..a1f7e403a68baa9327f6e5a2ec26274344047a37 100644
--- a/GUI/View/SampleDesigner/LayerOrientedSampleEditor.h
+++ b/GUI/View/SampleDesigner/LayerOrientedSampleEditor.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_LAYERORIENTEDSAMPLEEDITOR_H
 #define BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_LAYERORIENTEDSAMPLEEDITOR_H
 
-#include "GUI/Model/Sample/SampleItem.h"
+#include "GUI/Model/Item/SampleItem.h"
 #include <QMap>
 #include <QWidget>
 
diff --git a/GUI/View/SampleDesigner/MaterialInplaceForm.cpp b/GUI/View/SampleDesigner/MaterialInplaceForm.cpp
index fa296beeef13ecb1af1707bcb569db04a7555251..97adb672be6b1e1d2d59307adc45f85d78c51063 100644
--- a/GUI/View/SampleDesigner/MaterialInplaceForm.cpp
+++ b/GUI/View/SampleDesigner/MaterialInplaceForm.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/MaterialInplaceForm.h"
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/View/Edit/DoubleLineEdit.h"
diff --git a/GUI/View/SampleDesigner/MesoCrystalForm.cpp b/GUI/View/SampleDesigner/MesoCrystalForm.cpp
index ad70c868175820f8fa5d1aaa98fcdcd54cd76587..3424c4c1ab38e6546045b54f51936db2e84f76bf 100644
--- a/GUI/View/SampleDesigner/MesoCrystalForm.cpp
+++ b/GUI/View/SampleDesigner/MesoCrystalForm.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/MesoCrystalForm.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
diff --git a/GUI/View/SampleDesigner/MultiLayerForm.cpp b/GUI/View/SampleDesigner/MultiLayerForm.cpp
index 1bce00f803666f926cce05d855305daf51fe71a4..1646364696303541d9a05ac9728524a99c89120b 100644
--- a/GUI/View/SampleDesigner/MultiLayerForm.cpp
+++ b/GUI/View/SampleDesigner/MultiLayerForm.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/MultiLayerForm.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/SampleDesigner/LayerForm.h"
diff --git a/GUI/View/SampleDesigner/ParticleCompositionForm.cpp b/GUI/View/SampleDesigner/ParticleCompositionForm.cpp
index fd20da2e45d1c9f2a96c7b43e3650a2658d2b846..a9d135a24521f9a6e86bf8dd5da542d4a597932a 100644
--- a/GUI/View/SampleDesigner/ParticleCompositionForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleCompositionForm.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/ParticleCompositionForm.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
diff --git a/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp b/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp
index 9ed74d29c84ee37d5fe46d235f3e2e49353d35e1..53d3755a82d2916beb60d7e1497ec1edc5c0f241 100644
--- a/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/ParticleCoreShellForm.h"
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
diff --git a/GUI/View/SampleDesigner/ParticleForm.cpp b/GUI/View/SampleDesigner/ParticleForm.cpp
index 7cae7198a8ae9a0dbab152e4619de3a89f87c9cf..ef892ab293f7fcb6639e826c4020497006de5881 100644
--- a/GUI/View/SampleDesigner/ParticleForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleForm.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/ParticleForm.h"
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
diff --git a/GUI/View/SampleDesigner/ParticleLayoutForm.cpp b/GUI/View/SampleDesigner/ParticleLayoutForm.cpp
index be83d503c255b24fae1bee817f2c49e2b0558991..59a89137d8df3abfb7fea2b6412531c11650cac7 100644
--- a/GUI/View/SampleDesigner/ParticleLayoutForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleLayoutForm.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/ParticleLayoutForm.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/ItemWithParticles.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/SampleDesigner/InterferenceForm.h"
diff --git a/GUI/View/SampleDesigner/SampleEditorCommands.cpp b/GUI/View/SampleDesigner/SampleEditorCommands.cpp
index d1633edb4bc2dd5f0da8884217b8848068c217bc..e457a8d293f7cccba0c244d1ea246e32c548335f 100644
--- a/GUI/View/SampleDesigner/SampleEditorCommands.cpp
+++ b/GUI/View/SampleDesigner/SampleEditorCommands.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/SampleDesigner/SampleEditorCommands.h"
 
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "GUI/View/SampleDesigner/MultiLayerForm.h"
 #include "GUI/View/SampleDesigner/SampleEditorController.h"
diff --git a/GUI/View/SampleDesigner/SampleEditorController.cpp b/GUI/View/SampleDesigner/SampleEditorController.cpp
index c61e9f981c92773053df3b51c5d22e80350f19ee..b90ebae702938df89a6e809638e9c1ed08f4e6d6 100644
--- a/GUI/View/SampleDesigner/SampleEditorController.cpp
+++ b/GUI/View/SampleDesigner/SampleEditorController.cpp
@@ -13,17 +13,17 @@
 //  ************************************************************************************************
 
 #include "GUI/View/SampleDesigner/SampleEditorController.h"
-#include "GUI/Model/Material/MaterialModel.h"
+#include "GUI/Model/Model/MaterialModel.h"
 #include "GUI/Model/Project/ProjectDocument.h"
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MesoCrystalItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleCompositionItem.h"
-#include "GUI/Model/Sample/ParticleCoreShellItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MesoCrystalItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleCompositionItem.h"
+#include "GUI/Model/Item/ParticleCoreShellItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
 #include "GUI/View/SampleDesigner/InterferenceForm.h"
diff --git a/GUI/View/SampleDesigner/SampleEditorController.h b/GUI/View/SampleDesigner/SampleEditorController.h
index 0deccdf4e15db1264a8cb551a6a240433038bf22..87717984cace8390780e91b6f864d97ce8697c19 100644
--- a/GUI/View/SampleDesigner/SampleEditorController.h
+++ b/GUI/View/SampleDesigner/SampleEditorController.h
@@ -15,9 +15,9 @@
 #ifndef BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEEDITORCONTROLLER_H
 #define BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEEDITORCONTROLLER_H
 
-#include "GUI/Model/Sample/FormFactorItemCatalog.h"
-#include "GUI/Model/Sample/ItemWithParticlesCatalog.h"
-#include "GUI/Model/Sample/SampleItem.h"
+#include "GUI/Model/Item/FormFactorItemCatalog.h"
+#include "GUI/Model/Item/ItemWithParticlesCatalog.h"
+#include "GUI/Model/Item/SampleItem.h"
 #include <QUndoStack>
 
 class MultiLayerItem;
diff --git a/GUI/View/SampleDesigner/SampleListModel.cpp b/GUI/View/SampleDesigner/SampleListModel.cpp
index 2305fbd35d666d965223bd096bad898516530ba0..ae243dcc24f1d0120e58fdf7b8ef213124d6b832 100644
--- a/GUI/View/SampleDesigner/SampleListModel.cpp
+++ b/GUI/View/SampleDesigner/SampleListModel.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/SampleDesigner/SampleListModel.h"
 #include "Base/Util/Assert.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Util/String.h"
 #include "GUI/View/FromDomain/GUIExamplesFactory.h"
 #include "GUI/View/FromDomain/GUISampleBuilder.h"
diff --git a/GUI/View/SampleDesigner/SampleListView.cpp b/GUI/View/SampleDesigner/SampleListView.cpp
index f74f0ce24ab3917c78344c69e0ebce7870500900..a7f3346d51308f2be66dc5774e1b7a839f2631c4 100644
--- a/GUI/View/SampleDesigner/SampleListView.cpp
+++ b/GUI/View/SampleDesigner/SampleListView.cpp
@@ -16,7 +16,7 @@
 #include "Base/Util/SysUtils.h"
 #include "GUI/Application/ApplicationSettings.h"
 #include "GUI/Model/Project/ProjectDocument.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/View/Common/ItemViewOverlayButtons.h"
 #include "GUI/View/FromDomain/GUIExamplesFactory.h"
 #include "GUI/View/SampleDesigner/SampleListModel.h"
diff --git a/GUI/View/SampleDesigner/SampleView.cpp b/GUI/View/SampleDesigner/SampleView.cpp
index 76b1008d635cf6f6a88f04a85c87be1fdda86d9d..53379800cefd8811e1eb5f9af5ba1ff6e1c8343c 100644
--- a/GUI/View/SampleDesigner/SampleView.cpp
+++ b/GUI/View/SampleDesigner/SampleView.cpp
@@ -14,11 +14,11 @@
 
 #include "GUI/View/SampleDesigner/SampleView.h"
 #include "GUI/Model/Project/ProjectDocument.h"
-#include "GUI/Model/Sample/ItemWithParticles.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/ItemWithParticles.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/View/Common/DocksController.h"
 #include "GUI/View/Common/StyledToolBar.h"
 #include "GUI/View/Realspace/RealSpaceCanvas.h"
diff --git a/GUI/View/SampleDesigner/SampleView.h b/GUI/View/SampleDesigner/SampleView.h
index 3eb7426e2923d7d639c07d4cacfbf5cdf6c890be..6dd4a8519bf7f28eb24612505fc984407291d4c3 100644
--- a/GUI/View/SampleDesigner/SampleView.h
+++ b/GUI/View/SampleDesigner/SampleView.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEVIEW_H
 #define BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEVIEW_H
 
-#include "GUI/Model/Sample/SampleItem.h"
+#include "GUI/Model/Item/SampleItem.h"
 #include <QMainWindow>
 
 class DocksController;
diff --git a/GUI/View/SampleDesigner/ScriptPanel.cpp b/GUI/View/SampleDesigner/ScriptPanel.cpp
index 357185c1905c0e754c78d5ad4a9e3232e7bff006..5eda1982bcbee86842b366fa1329a85e6a2b7355 100644
--- a/GUI/View/SampleDesigner/ScriptPanel.cpp
+++ b/GUI/View/SampleDesigner/ScriptPanel.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/SampleDesigner/ScriptPanel.h"
 #include "Core/Export/ExportToPython.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
 #include "GUI/Model/To/ToDomain.h"
 #include "GUI/View/Info/CautionSign.h"
 #include "GUI/View/Info/PythonSyntaxHighlighter.h"
diff --git a/GUI/View/Tool/DataItemUtils.cpp b/GUI/View/Tool/DataItemUtils.cpp
index 3f9a9c58ced78b25bc7ff7a023be1204878488f2..89138a4f4112c7c844cf357c2d24eaedd074300b 100644
--- a/GUI/View/Tool/DataItemUtils.cpp
+++ b/GUI/View/Tool/DataItemUtils.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Tool/DataItemUtils.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
 
 namespace {
 
diff --git a/GUI/View/Toplevel/ProjectSettingsView.cpp b/GUI/View/Toplevel/ProjectSettingsView.cpp
index bad9edd47e67be67e92d62ab39883c2883c42c74..326664402b902e185a763355f6e053ae190daaa3 100644
--- a/GUI/View/Toplevel/ProjectSettingsView.cpp
+++ b/GUI/View/Toplevel/ProjectSettingsView.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/View/Toplevel/ProjectSettingsView.h"
 #include "GUI/Application/ApplicationSettings.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Util/Path.h"
 #include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "ui_ProjectSettingsView.h"
diff --git a/GUI/View/Toplevel/SessionDecorationModel.cpp b/GUI/View/Toplevel/SessionDecorationModel.cpp
index cbbd76c99de9188cfc63f837868e1fd672c44462..564f568dce13cf19f58fc5512447ea05f18114cd 100644
--- a/GUI/View/Toplevel/SessionDecorationModel.cpp
+++ b/GUI/View/Toplevel/SessionDecorationModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Toplevel/SessionDecorationModel.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include <QColor>
 #include <QIcon>
 #include <QPixmap>
diff --git a/GUI/View/Toplevel/SessionModelView.cpp b/GUI/View/Toplevel/SessionModelView.cpp
index 2d621ab2f49e40fe16be46ce4c0d7c988391c0a9..99b8b4beb16b32296d8d92c0931fbf992eb408f0 100644
--- a/GUI/View/Toplevel/SessionModelView.cpp
+++ b/GUI/View/Toplevel/SessionModelView.cpp
@@ -13,12 +13,12 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Toplevel/SessionModelView.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Sample/ItemWithMaterial.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Item/ItemWithMaterial.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/View/Project/ProjectManager.h"
 #include "GUI/View/Tool/StyleUtils.h"
diff --git a/GUI/View/Toplevel/SimulationView.cpp b/GUI/View/Toplevel/SimulationView.cpp
index 38fb8f33c64239a0e7d1c9c7b36cb1b2cdf1ad40..164339672159ed5a4a5c2da3d46a5f60fc28b4a0 100644
--- a/GUI/View/Toplevel/SimulationView.cpp
+++ b/GUI/View/Toplevel/SimulationView.cpp
@@ -13,15 +13,15 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Toplevel/SimulationView.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/Model/Project/ProjectDocument.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Model/Sample/SampleValidator.h"
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include "GUI/View/Global/Globals.h"
diff --git a/Tests/Functional/GUI/Check.cpp b/Tests/Functional/GUI/Check.cpp
index 39c0ccd934e402830f5867da3acdb73be8d276cc..403d7b687b77a5687c2bf66e30df2b3bd71bd459 100644
--- a/Tests/Functional/GUI/Check.cpp
+++ b/Tests/Functional/GUI/Check.cpp
@@ -19,11 +19,11 @@
 #include "Device/Histo/HistoUtils.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
 #include "Device/Histo/SimulationResult.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/Model/To/DomainSimulationBuilder.h"
 #include "GUI/Support/Data/SimulationOptionsItem.h"
 #include "GUI/View/FromDomain/GUIObjectBuilder.h"
diff --git a/Tests/Unit/GUI/TestAxesItems.cpp b/Tests/Unit/GUI/TestAxesItems.cpp
index de7cf44d06cef2c7427e9ef116240c578756c43c..5c9c68ae9892fdc6b6ea758fef096b6a29b0bbd2 100644
--- a/Tests/Unit/GUI/TestAxesItems.cpp
+++ b/Tests/Unit/GUI/TestAxesItems.cpp
@@ -1,8 +1,8 @@
 #include "Base/Axis/FixedBinAxis.h"
 #include "Base/Axis/VariableBinAxis.h"
 #include "Base/Const/Units.h"
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Session/PropertyItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/PropertyItem.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/FromDomain/FromDomain.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestDataItemViews.cpp b/Tests/Unit/GUI/TestDataItemViews.cpp
index 2e5ab7c689cc7b7109dc7e140b53f92223cb0037..276badd49e9d424e0640a11f42323291826fd6da 100644
--- a/Tests/Unit/GUI/TestDataItemViews.cpp
+++ b/Tests/Unit/GUI/TestDataItemViews.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
 #include "GUI/Model/Plot/DataProperties.h"
 #include "GUI/Model/Plot/DataPropertyContainer.h"
 #include "GUI/Model/Project/ProjectDocument.h"
diff --git a/Tests/Unit/GUI/TestDataItems.cpp b/Tests/Unit/GUI/TestDataItems.cpp
index c8789ad66199b9dcd08cecc53b34bf8e2156d0e8..c3f554c5384e103f2f41fc886de21e25e14c8dd3 100644
--- a/Tests/Unit/GUI/TestDataItems.cpp
+++ b/Tests/Unit/GUI/TestDataItems.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/SpecularDataItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/SpecularDataItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QTest>
 
diff --git a/Tests/Unit/GUI/TestDetectorItems.cpp b/Tests/Unit/GUI/TestDetectorItems.cpp
index e94311b52de88f650ca7dedfbdd8e2878cdb4848..3f72dc001ac16125017e80a24a885e208af2942a 100644
--- a/Tests/Unit/GUI/TestDetectorItems.cpp
+++ b/Tests/Unit/GUI/TestDetectorItems.cpp
@@ -2,11 +2,11 @@
 #include "Device/Detector/IDetector2D.h"
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
-#include "GUI/Model/Instrument/ResolutionFunctionItems.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
+#include "GUI/Model/Item/ResolutionFunctionItems.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestFTDistributionItems.cpp b/Tests/Unit/GUI/TestFTDistributionItems.cpp
index a709bef35a1fb3be9792e27c709240b5da1e7d58..e2ce187993e6c3de4a5d05ddd27292089491eb42 100644
--- a/Tests/Unit/GUI/TestFTDistributionItems.cpp
+++ b/Tests/Unit/GUI/TestFTDistributionItems.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Model/Sample/FTDistributionItems.h"
+#include "GUI/Model/Item/FTDistributionItems.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class TestFTDistributionItems : public ::testing::Test {
diff --git a/Tests/Unit/GUI/TestFitParameterModel.cpp b/Tests/Unit/GUI/TestFitParameterModel.cpp
index b5de2cbf96724856aa0a436347ebbc3e0391e066..846d75d63e97a12e06fa3932177a71feca6fc9a8 100644
--- a/Tests/Unit/GUI/TestFitParameterModel.cpp
+++ b/Tests/Unit/GUI/TestFitParameterModel.cpp
@@ -1,9 +1,9 @@
-#include "GUI/Model/Fit/FitParameterContainerItem.h"
-#include "GUI/Model/Fit/FitParameterItem.h"
-#include "GUI/Model/Fit/FitParameterLinkItem.h"
-#include "GUI/Model/Fit/FitParameterModel.h"
-#include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/FitParameterContainerItem.h"
+#include "GUI/Model/Item/FitParameterItem.h"
+#include "GUI/Model/Item/FitParameterLinkItem.h"
+#include "GUI/Model/Model/FitParameterModel.h"
+#include "GUI/Model/Item/FitSuiteItem.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class TestFitParameterModel : public ::testing::Test {
diff --git a/Tests/Unit/GUI/TestFormFactorItems.cpp b/Tests/Unit/GUI/TestFormFactorItems.cpp
index 7360d42583e133bffe531ea81938de54e3fe3fe2..e598c7db69aac4418b7cfdc43d0a326540262469 100644
--- a/Tests/Unit/GUI/TestFormFactorItems.cpp
+++ b/Tests/Unit/GUI/TestFormFactorItems.cpp
@@ -1,6 +1,6 @@
 #include "Base/Const/Units.h"
 #include "Base/Util/Algorithms.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
+#include "GUI/Model/Item/FormFactorItems.h"
 #include "Sample/HardParticle/FormFactorPyramid2.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestGroupItem.cpp b/Tests/Unit/GUI/TestGroupItem.cpp
index 1a5366f56bf16b239c15e805718d57723f56e5dd..eb2b47479eb77d11d9fdd6d99f7b01fc5ba2b346 100644
--- a/Tests/Unit/GUI/TestGroupItem.cpp
+++ b/Tests/Unit/GUI/TestGroupItem.cpp
@@ -1,7 +1,7 @@
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Instrument/ResolutionItems.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/ResolutionItems.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Support/Type/VariantUtil.h"
 #include "GUI/Util/ComboProperty.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestInstrumentModel.cpp b/Tests/Unit/GUI/TestInstrumentModel.cpp
index d4f6b4cce07d2157120398ae8adfe47c9b7dab64..7c35d03cc7bc7fc26c49906b5e9d9541ca7d85e1 100644
--- a/Tests/Unit/GUI/TestInstrumentModel.cpp
+++ b/Tests/Unit/GUI/TestInstrumentModel.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QSignalSpy>
 
diff --git a/Tests/Unit/GUI/TestLayerRoughnessItems.cpp b/Tests/Unit/GUI/TestLayerRoughnessItems.cpp
index 141b460c3da65b94947218c0f805eadac0e2228f..19320aa34b65445a9de57aaa8884d05c36e0ba6b 100644
--- a/Tests/Unit/GUI/TestLayerRoughnessItems.cpp
+++ b/Tests/Unit/GUI/TestLayerRoughnessItems.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Model/Sample/LayerRoughnessItems.h"
+#include "GUI/Model/Item/LayerRoughnessItems.h"
 #include "GUI/Model/To/ToDomain.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/View/FromDomain/FromDomain.h"
diff --git a/Tests/Unit/GUI/TestLinkInstrument.cpp b/Tests/Unit/GUI/TestLinkInstrument.cpp
index 7c6c2d86b893a4cb139b7c14a48b12ac96fa27d8..c3015b91f75d493256b995725842717a2741ae27 100644
--- a/Tests/Unit/GUI/TestLinkInstrument.cpp
+++ b/Tests/Unit/GUI/TestLinkInstrument.cpp
@@ -1,10 +1,10 @@
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
-#include "GUI/Model/Instrument/RectangularDetectorItem.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Item/JobItemUtils.h"
+#include "GUI/Model/Item/RectangularDetectorItem.h"
 #include "GUI/Model/Project/LinkInstrumentManager.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestMapperForItem.cpp b/Tests/Unit/GUI/TestMapperForItem.cpp
index c3d17096b2ef7026ea6617241ffaae203f5a994d..472fa8bc1f1c63287c675d4d0ce01cde25ffd446 100644
--- a/Tests/Unit/GUI/TestMapperForItem.cpp
+++ b/Tests/Unit/GUI/TestMapperForItem.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Mask/ProjectionItems.h"
-#include "GUI/Model/Project/JobModel.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Item/ProjectionItems.h"
+#include "GUI/Model/Model/JobModel.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <memory>
diff --git a/Tests/Unit/GUI/TestMaterialModel.cpp b/Tests/Unit/GUI/TestMaterialModel.cpp
index 28c755a7e975e25e58dcc3cf1762f053273a27fb..5c884bbaba86c1e978bb5623d04a9b7fc7385354 100644
--- a/Tests/Unit/GUI/TestMaterialModel.cpp
+++ b/Tests/Unit/GUI/TestMaterialModel.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/Material/MaterialModel.h"
+#include "GUI/Model/Item/MaterialItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <memory>
diff --git a/Tests/Unit/GUI/TestOutputDataIOService.cpp b/Tests/Unit/GUI/TestOutputDataIOService.cpp
index c88121b6ec33e5d79ad0b8f11677a53eca426e88..25614725e8e344f2cfa3cf8974d96c80c2786d4d 100644
--- a/Tests/Unit/GUI/TestOutputDataIOService.cpp
+++ b/Tests/Unit/GUI/TestOutputDataIOService.cpp
@@ -1,12 +1,12 @@
 #include "Device/Histo/IntensityDataIOFactory.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
-#include "GUI/Model/Project/ApplicationModels.h"
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Project/JobModelFunctions.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/JobItemUtils.h"
+#include "GUI/Model/Model/ApplicationModels.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Model/JobModelFunctions.h"
 #include "GUI/Model/Project/OutputDataIOService.h"
 #include "GUI/Support/IO/ImportDataInfo.h"
 #include "GUI/Support/IO/ProjectUtils.h"
diff --git a/Tests/Unit/GUI/TestParaCrystalItems.cpp b/Tests/Unit/GUI/TestParaCrystalItems.cpp
index 32285bb53a0c57506c05795451b9f2aadd05f540..0fbf15566f3aafe33b6ed5e8d6a533aba52d244a 100644
--- a/Tests/Unit/GUI/TestParaCrystalItems.cpp
+++ b/Tests/Unit/GUI/TestParaCrystalItems.cpp
@@ -1,11 +1,11 @@
 #include "Base/Const/Units.h"
-#include "GUI/Model/Sample/FTDistributionItems.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/FTDistributionItems.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/View/FromDomain/FromDomain.h"
 #include "Sample/Aggregate/Interference2DParaCrystal.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestParticleLayoutItem.h b/Tests/Unit/GUI/TestParticleLayoutItem.h
index 0040c3cd8c5f7b41e63ed220095031b5f2ca300a..ed61ec3db578d66ae6bf1b7550cb2bf9c80c1bc9 100644
--- a/Tests/Unit/GUI/TestParticleLayoutItem.h
+++ b/Tests/Unit/GUI/TestParticleLayoutItem.h
@@ -2,10 +2,10 @@
 #define BORNAGAIN_TESTS_UNIT_GUI_TESTPARTICLELAYOUTITEM_H
 
 #include "Base/Math/Constants.h"
-#include "GUI/Model/Sample/InterferenceItems.h"
-#include "GUI/Model/Sample/Lattice2DItems.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Item/InterferenceItems.h"
+#include "GUI/Model/Item/Lattice2DItems.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "Tests/Unit/utilities/google_test.h"
 
 class TestParticleLayoutItem : public ::testing::Test {
diff --git a/Tests/Unit/GUI/TestProjectDocument.cpp b/Tests/Unit/GUI/TestProjectDocument.cpp
index 9e65924502ef8757a2611f55ed4a2a576f789ef8..2b913286f98f7a866abd36c077c9ace26f8a265d 100644
--- a/Tests/Unit/GUI/TestProjectDocument.cpp
+++ b/Tests/Unit/GUI/TestProjectDocument.cpp
@@ -1,9 +1,9 @@
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Item/JobItemUtils.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Support/IO/ProjectUtils.h"
 #include "GUI/Util/Path.h"
diff --git a/Tests/Unit/GUI/TestPropertyRepeater.cpp b/Tests/Unit/GUI/TestPropertyRepeater.cpp
index 3e6e5e1dcbac1300b8734ddfe1584b5ca6b992f7..f250857110b2e6f2ddef1fb823c6e2b961be5a1a 100644
--- a/Tests/Unit/GUI/TestPropertyRepeater.cpp
+++ b/Tests/Unit/GUI/TestPropertyRepeater.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/PlotComparison/PropertyRepeater.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestRealDataModel.cpp b/Tests/Unit/GUI/TestRealDataModel.cpp
index 3bc7ea840f03a277ec6da530770063588068fc83..2ac40299d42f7e908b55ca01025a081355ad1411 100644
--- a/Tests/Unit/GUI/TestRealDataModel.cpp
+++ b/Tests/Unit/GUI/TestRealDataModel.cpp
@@ -1,7 +1,7 @@
 #include "Base/Axis/PointwiseAxis.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Session/DataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/DataItem.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QSignalSpy>
 
diff --git a/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp b/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp
index cabb85bc7c1b879386b0dfa23ffeef4acdbf4927..94e46af95262c72db97670e66e6ad93aa9327227 100644
--- a/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp
+++ b/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp
@@ -1,9 +1,9 @@
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Project/ApplicationModels.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Model/ApplicationModels.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Model/SampleModel.h"
 #include "GUI/View/Realspace/Particle3DContainer.h"
 #include "GUI/View/Realspace/RealSpaceBuilder.h"
 #include "GUI/View/Realspace/RealSpaceBuilderUtils.h"
diff --git a/Tests/Unit/GUI/TestSaveService.cpp b/Tests/Unit/GUI/TestSaveService.cpp
index 6b6834bb5e05ee077823dca6a57d9ae02459c611..94121245fdc924e494d58ae08c96ff41c4e66bc8 100644
--- a/Tests/Unit/GUI/TestSaveService.cpp
+++ b/Tests/Unit/GUI/TestSaveService.cpp
@@ -1,9 +1,9 @@
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Data/RealDataModel.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Instrument/JobItemUtils.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/RealDataModel.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Item/JobItemUtils.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Support/IO/ProjectUtils.h"
 #include "GUI/Util/Error.h"
diff --git a/Tests/Unit/GUI/TestSavingSpecularData.cpp b/Tests/Unit/GUI/TestSavingSpecularData.cpp
index 67330ef65cb13368d87e181bfadc69cce0a91265..dc727d1c034975e813511a0c0b1a2796c556d61c 100644
--- a/Tests/Unit/GUI/TestSavingSpecularData.cpp
+++ b/Tests/Unit/GUI/TestSavingSpecularData.cpp
@@ -1,14 +1,14 @@
 #include "Base/Axis/PointwiseAxis.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
-#include "GUI/Model/Ax/PointwiseAxisItem.h"
-#include "GUI/Model/Data/IntensityDataItem.h"
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Group/GroupItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Project/ApplicationModels.h"
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Project/JobModelFunctions.h"
+#include "GUI/Model/Item/PointwiseAxisItem.h"
+#include "GUI/Model/Item/IntensityDataItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/GroupItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Model/ApplicationModels.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Model/JobModelFunctions.h"
 #include "GUI/Model/Project/OutputDataIOService.h"
 #include "GUI/Support/IO/ItemFileNameUtils.h"
 #include "GUI/Support/IO/ProjectUtils.h"
diff --git a/Tests/Unit/GUI/TestSessionItem.cpp b/Tests/Unit/GUI/TestSessionItem.cpp
index 4f742207015c0d91f8162a1a754bfb5898b876b2..b87199705baa7684e5f9bb9de815c9001b5177db 100644
--- a/Tests/Unit/GUI/TestSessionItem.cpp
+++ b/Tests/Unit/GUI/TestSessionItem.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Support/Data/SessionFlags.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestSessionItemController.cpp b/Tests/Unit/GUI/TestSessionItemController.cpp
index 0e67c20ad730c7a16c1024b7b5de10755d8e0be6..503e09d5bcfb3fb3d5ef45a1f8de51b276cd8099 100644
--- a/Tests/Unit/GUI/TestSessionItemController.cpp
+++ b/Tests/Unit/GUI/TestSessionItemController.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Model/Ax/AxesItems.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/AxesItems.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/View/Common/SessionItemController.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include "Tests/Unit/GUI/TestSessionItemControllerHelper.h"
diff --git a/Tests/Unit/GUI/TestSessionItemControllerHelper.cpp b/Tests/Unit/GUI/TestSessionItemControllerHelper.cpp
index 84e6ea3a1384ec19639f447d79a32c3c7b995284..39ae08a6b350368b168cc72066dfb7c9a6959772 100644
--- a/Tests/Unit/GUI/TestSessionItemControllerHelper.cpp
+++ b/Tests/Unit/GUI/TestSessionItemControllerHelper.cpp
@@ -1,5 +1,5 @@
 #include "Tests/Unit/GUI/TestSessionItemControllerHelper.h"
-#include "GUI/Model/Session/SessionItem.h"
+#include "GUI/Model/Item/SessionItem.h"
 #include "GUI/View/Common/SessionItemController.h"
 
 TestListener::TestListener()
diff --git a/Tests/Unit/GUI/TestSessionItemTags.cpp b/Tests/Unit/GUI/TestSessionItemTags.cpp
index 639f2db8d8be1dd877df0c60526b639c9338e51f..a760797e31534726b6a504c24e8a8820651ba298 100644
--- a/Tests/Unit/GUI/TestSessionItemTags.cpp
+++ b/Tests/Unit/GUI/TestSessionItemTags.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
 #include "GUI/Support/Data/SessionItemTags.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestSessionItemUtils.cpp b/Tests/Unit/GUI/TestSessionItemUtils.cpp
index 509b48882de7ccca0e960e2a40f91ba1360db220..18da38d6f0f92c715a18a52a1c89494ddad519a7 100644
--- a/Tests/Unit/GUI/TestSessionItemUtils.cpp
+++ b/Tests/Unit/GUI/TestSessionItemUtils.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Model/Session/PropertyItem.h"
-#include "GUI/Model/Session/SessionModel.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/PropertyItem.h"
+#include "GUI/Model/Model/SessionModel.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/Support/Type/VariantUtil.h"
 #include "GUI/Util/ComboProperty.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestSessionModel.cpp b/Tests/Unit/GUI/TestSessionModel.cpp
index 573a6552a1be77f51a3ab2e0645f0355b8f69569..ef6b4049d3d9371ccd0b7194ff8646a9a6421aa7 100644
--- a/Tests/Unit/GUI/TestSessionModel.cpp
+++ b/Tests/Unit/GUI/TestSessionModel.cpp
@@ -1,14 +1,14 @@
-#include "GUI/Model/Fit/JobItem.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Mask/MaskItems.h"
-#include "GUI/Model/Material/MaterialModel.h"
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
-#include "GUI/Model/Session/PropertyItem.h"
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/JobItem.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Item/MaskItems.h"
+#include "GUI/Model/Model/MaterialModel.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Model/SampleModel.h"
+#include "GUI/Model/Item/PropertyItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "GUI/Support/Data/SessionItemTags.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QSignalSpy>
diff --git a/Tests/Unit/GUI/TestSessionXML.cpp b/Tests/Unit/GUI/TestSessionXML.cpp
index 143db0dd3b115a2f4739ae3c292173f817a8f8f7..159ffec00e4594c50132733ef4d6760f278a2a75 100644
--- a/Tests/Unit/GUI/TestSessionXML.cpp
+++ b/Tests/Unit/GUI/TestSessionXML.cpp
@@ -1,15 +1,15 @@
-#include "GUI/Model/Instrument/BackgroundItems.h"
-#include "GUI/Model/Instrument/InstrumentItems.h"
-#include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/Project/JobModel.h"
-#include "GUI/Model/Sample/FormFactorItems.h"
-#include "GUI/Model/Sample/LayerItem.h"
-#include "GUI/Model/Sample/MultiLayerItem.h"
-#include "GUI/Model/Sample/ParticleItem.h"
-#include "GUI/Model/Sample/ParticleLayoutItem.h"
-#include "GUI/Model/Sample/SampleModel.h"
-#include "GUI/Model/Session/PropertyItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/BackgroundItems.h"
+#include "GUI/Model/Item/InstrumentItems.h"
+#include "GUI/Model/Model/InstrumentModel.h"
+#include "GUI/Model/Model/JobModel.h"
+#include "GUI/Model/Item/FormFactorItems.h"
+#include "GUI/Model/Item/LayerItem.h"
+#include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Item/ParticleItem.h"
+#include "GUI/Model/Item/ParticleLayoutItem.h"
+#include "GUI/Model/Model/SampleModel.h"
+#include "GUI/Model/Item/PropertyItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestVectorItem.cpp b/Tests/Unit/GUI/TestVectorItem.cpp
index 79828ba81ae6e57c44c4da970814f90bc6825752..c5865250a59b09b38e74253a503bf3eacf4e708b 100644
--- a/Tests/Unit/GUI/TestVectorItem.cpp
+++ b/Tests/Unit/GUI/TestVectorItem.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Model/Types/VectorItem.h"
+#include "GUI/Model/Item/VectorItem.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 //! Tests VectorItem class.
diff --git a/Tests/Unit/GUI/Utils.cpp b/Tests/Unit/GUI/Utils.cpp
index aeb123c7b4a6c146f8c04126eaf2a650d8092e0b..e6c59fdd9e186a9627aa355d3d6c7aa568ace660 100644
--- a/Tests/Unit/GUI/Utils.cpp
+++ b/Tests/Unit/GUI/Utils.cpp
@@ -16,8 +16,8 @@
 #include "Tests/Unit/GUI/Utils.h"
 #include "Device/Data/DataUtils.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
-#include "GUI/Model/Data/RealDataItem.h"
-#include "GUI/Model/Session/SessionModel.h"
+#include "GUI/Model/Item/RealDataItem.h"
+#include "GUI/Model/Model/SessionModel.h"
 #include "GUI/Support/IO/ProjectUtils.h"
 #include "GUI/Util/Error.h"
 #include <QDir>
diff --git a/Tests/Unit/GUI/Utils.h b/Tests/Unit/GUI/Utils.h
index 1914c8ed88dd881e704b418dc8127d5e66ac7b62..7b183d4b9809922dd05c7b82e75ee01db2ca30f5 100644
--- a/Tests/Unit/GUI/Utils.h
+++ b/Tests/Unit/GUI/Utils.h
@@ -16,7 +16,7 @@
 #ifndef BORNAGAIN_TESTS_UNIT_GUI_UTILS_H
 #define BORNAGAIN_TESTS_UNIT_GUI_UTILS_H
 
-#include "GUI/Model/Session/PropertyItem.h"
+#include "GUI/Model/Item/PropertyItem.h"
 #include "GUI/Model/XML/SessionXML.h"
 #include "GUI/Support/Data/XML.h"
 #include <QString>