diff --git a/GUI/Model/Ax/AxesItems.h b/GUI/Model/Ax/AxesItems.h
index bcbfe100da344d7c02e5285a65dd4f21503c3f17..f9267877149514b510304a276644877591416b28 100644
--- a/GUI/Model/Ax/AxesItems.h
+++ b/GUI/Model/Ax/AxesItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_AX_AXESITEMS_H
 #define BORNAGAIN_GUI_MODEL_AX_AXESITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h" // no forward declaration < used in many children
 #include <memory>
 
diff --git a/GUI/Model/Base/VariantUtil.cpp b/GUI/Model/Base/VariantUtil.cpp
index 1cc2061becc47ff4b66146c1f96a55069cc9480f..ccbc3b488b56bfd8096fedc4afc63c1221dd3df2 100644
--- a/GUI/Model/Base/VariantUtil.cpp
+++ b/GUI/Model/Base/VariantUtil.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Base/VariantUtil.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 int GUI::Util::Variant::VariantType(const QVariant& variant)
 {
diff --git a/GUI/Model/D0/ApplicationModels.cpp b/GUI/Model/D0/ApplicationModels.cpp
index d097e092b89cef71803680eb5a94d2aadbca390b..524c1d2c576409efea547c036804bbfa4b460ca0 100644
--- a/GUI/Model/D0/ApplicationModels.cpp
+++ b/GUI/Model/D0/ApplicationModels.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Model/D0/ApplicationModels.h"
 #include "GUI/Model/RD/RealDataModel.h"
 #include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/Base/SimulationOptionsItem.h"
 #include "GUI/Model/Sample/SampleModel.h"
 #include "GUI/Util/DeserializationException.h"
diff --git a/GUI/Model/D1/Data1DViewItem.cpp b/GUI/Model/D1/Data1DViewItem.cpp
index 35fe0b73d55472f157ada5bc5a5950d0fbd3c928..66f3f0e85501a52181da8b44e4b4521e6fdfa6f3 100644
--- a/GUI/Model/D1/Data1DViewItem.cpp
+++ b/GUI/Model/D1/Data1DViewItem.cpp
@@ -17,7 +17,7 @@
 #include "GUI/Model/D2/DataItem.h"
 #include "GUI/Model/D4/DataProperties.h"
 #include "GUI/Model/D4/DataPropertyContainer.h"
-#include "GUI/Model/D5/DataViewUtils.h"
+#include "GUI/Model/D1/DataViewUtils.h"
 #include "GUI/Model/J0/JobItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/Model/D1/Data1DViewItem.h b/GUI/Model/D1/Data1DViewItem.h
index 404a4b5a7a87945e4cf32487a34cab12679f62ec..3f08031048c305a6ebb8923c14e6f83f896ea669 100644
--- a/GUI/Model/D1/Data1DViewItem.h
+++ b/GUI/Model/D1/Data1DViewItem.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_D1_DATA1DVIEWITEM_H
 
 #include "GUI/Model/G8/SelectionDescriptor.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class AmplitudeAxisItem;
 class BasicAxisItem;
diff --git a/GUI/Model/D5/DataViewUtils.cpp b/GUI/Model/D1/DataViewUtils.cpp
similarity index 96%
rename from GUI/Model/D5/DataViewUtils.cpp
rename to GUI/Model/D1/DataViewUtils.cpp
index c09747336c258f0703c70546b8eaeb6f010092dc..bef6cfdddf6667dc3185767a49c6b550b7a6fb0c 100644
--- a/GUI/Model/D5/DataViewUtils.cpp
+++ b/GUI/Model/D1/DataViewUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/D5/DataViewUtils.cpp
+//! @file      GUI/Model/D1/DataViewUtils.cpp
 //! @brief     Implements functions in namespace DataViewUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/D5/DataViewUtils.h"
+#include "GUI/Model/D1/DataViewUtils.h"
 #include "Device/Coord/ICoordSystem.h"
 #include "GUI/Model/D1/Data1DViewItem.h"
 #include "GUI/Model/D2/DataItem.h"
diff --git a/GUI/Model/D5/DataViewUtils.h b/GUI/Model/D1/DataViewUtils.h
similarity index 84%
rename from GUI/Model/D5/DataViewUtils.h
rename to GUI/Model/D1/DataViewUtils.h
index a6cb56912baacc1ce8ed2b69160621615e2087b6..d7dc54051e20126a2867ea7fd1587940842a1107 100644
--- a/GUI/Model/D5/DataViewUtils.h
+++ b/GUI/Model/D1/DataViewUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/D5/DataViewUtils.h
+//! @file      GUI/Model/D1/DataViewUtils.h
 //! @brief     Defines namespace GUI::Model::DataViewUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_D5_DATAVIEWUTILS_H
-#define BORNAGAIN_GUI_MODEL_D5_DATAVIEWUTILS_H
+#ifndef BORNAGAIN_GUI_MODEL_D1_DATAVIEWUTILS_H
+#define BORNAGAIN_GUI_MODEL_D1_DATAVIEWUTILS_H
 
 #include <QString>
 #include <memory>
@@ -32,4 +32,4 @@ std::unique_ptr<OutputData<double>> getTranslatedData(Data1DViewItem* view_item,
 
 } // namespace GUI::Model::DataViewUtils
 
-#endif // BORNAGAIN_GUI_MODEL_D5_DATAVIEWUTILS_H
+#endif // BORNAGAIN_GUI_MODEL_D1_DATAVIEWUTILS_H
diff --git a/GUI/Model/D2/DataItem.h b/GUI/Model/D2/DataItem.h
index 7a81fc3427c36ba6e79277de5133b7e8cbdcab2f..23a1f5553a64608547f1d9678e4e2dde064f03f2 100644
--- a/GUI/Model/D2/DataItem.h
+++ b/GUI/Model/D2/DataItem.h
@@ -18,7 +18,7 @@
 #include "Device/Data/OutputData.h"
 #include "GUI/Model/G8/SelectionDescriptor.h"
 #include "GUI/Model/IO/SaveLoadInterface.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <QDateTime>
 #include <mutex>
 
diff --git a/GUI/Model/D4/DataProperties.h b/GUI/Model/D4/DataProperties.h
index 0dcdeb6148bec2c138ee14b6f866815080a5451a..55d38a4d8d3577e336b769f3933c785e091095c1 100644
--- a/GUI/Model/D4/DataProperties.h
+++ b/GUI/Model/D4/DataProperties.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_D4_DATAPROPERTIES_H
 #define BORNAGAIN_GUI_MODEL_D4_DATAPROPERTIES_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class DataItem;
 
diff --git a/GUI/Model/D4/DataPropertyContainer.h b/GUI/Model/D4/DataPropertyContainer.h
index 5a5f83f8044ff2ec3046d07c26d7c7d512b478d6..2763c2142b938804a36af728ea5299706f338b54 100644
--- a/GUI/Model/D4/DataPropertyContainer.h
+++ b/GUI/Model/D4/DataPropertyContainer.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_D4_DATAPROPERTYCONTAINER_H
 #define BORNAGAIN_GUI_MODEL_D4_DATAPROPERTYCONTAINER_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class DataItem;
 class DataProperties;
diff --git a/GUI/Model/D8/ProjectionItems.h b/GUI/Model/D8/ProjectionItems.h
index b4f719de623918fd45d3a9ae90629eaae570cac7..93d1d5939ee04aaddd8c803f77a6ebdf37db3bc1 100644
--- a/GUI/Model/D8/ProjectionItems.h
+++ b/GUI/Model/D8/ProjectionItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_D8_PROJECTIONITEMS_H
 #define BORNAGAIN_GUI_MODEL_D8_PROJECTIONITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 //! A container to hold ProjectionItems, intended to store projections of color map on X, Y axes.
 
diff --git a/GUI/Model/Fit/FitParameterContainerItem.h b/GUI/Model/Fit/FitParameterContainerItem.h
index aef64ce493229ae97287dfb702a90fdcf2d35e2c..1a81bc66a4b131f596d2e9d0c69e34252c53103b 100644
--- a/GUI/Model/Fit/FitParameterContainerItem.h
+++ b/GUI/Model/Fit/FitParameterContainerItem.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERCONTAINERITEM_H
 #define BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERCONTAINERITEM_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 namespace mumufit {
 
diff --git a/GUI/Model/Fit/FitParameterHelper.cpp b/GUI/Model/Fit/FitParameterHelper.cpp
index f5081623d248b2cb37c6edbe65022b17b60d9cfe..8c83b7f3d8370eda0df615f3d5279f334c4fbda8 100644
--- a/GUI/Model/Fit/FitParameterHelper.cpp
+++ b/GUI/Model/Fit/FitParameterHelper.cpp
@@ -18,7 +18,7 @@
 #include "GUI/Model/Fit/FitParameterLinkItem.h"
 #include "GUI/Model/Fit/ParameterTreeItems.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 
 
 ParameterItem* FitParameterHelper::getParameterItem(FitParameterContainerItem* container,
diff --git a/GUI/Model/Fit/FitParameterItem.h b/GUI/Model/Fit/FitParameterItem.h
index 8804bb880992801ba9f30f524789d379546360b4..6eea5f1f54991a32daf903ea1abe783c74b66025 100644
--- a/GUI/Model/Fit/FitParameterItem.h
+++ b/GUI/Model/Fit/FitParameterItem.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERITEM_H
 
 #include "Fit/Param/AttLimits.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class FitParameterLinkItem;
 
diff --git a/GUI/Model/Fit/FitParameterLinkItem.h b/GUI/Model/Fit/FitParameterLinkItem.h
index ad89068024c7cb2225e2292975ead4e6b9ee5083..7797a6ee5e9666f3b8deaf0d3426457228e8afc9 100644
--- a/GUI/Model/Fit/FitParameterLinkItem.h
+++ b/GUI/Model/Fit/FitParameterLinkItem.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERLINKITEM_H
 #define BORNAGAIN_GUI_MODEL_FIT_FITPARAMETERLINKITEM_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 //! The FitParameterLinkItem class holds a link to ParameterItem in tuning tree.
 
diff --git a/GUI/Model/Fit/FitParameterModel.cpp b/GUI/Model/Fit/FitParameterModel.cpp
index 5c9c09cffada7599c3ffe380b685e7fd1a5857a9..2e37f74ad265a3768ec6baf70aee0a9d86668229 100644
--- a/GUI/Model/Fit/FitParameterModel.cpp
+++ b/GUI/Model/Fit/FitParameterModel.cpp
@@ -18,7 +18,7 @@
 #include "GUI/Model/Fit/FitParameterItem.h"
 #include "GUI/Model/Fit/FitParameterLinkItem.h"
 #include "GUI/Model/S3/SessionXML.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/S7/ModelPath.h"
 #include "GUI/Util/Error.h"
 #include <QColor>
diff --git a/GUI/Model/Fit/FitSuiteItem.h b/GUI/Model/Fit/FitSuiteItem.h
index b5d17691f19c49651b9f60ca25d285e8c15d807a..ebd8f58ff127e28f05e7c5e9defee3bdea5a370a 100644
--- a/GUI/Model/Fit/FitSuiteItem.h
+++ b/GUI/Model/Fit/FitSuiteItem.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_FIT_FITSUITEITEM_H
 #define BORNAGAIN_GUI_MODEL_FIT_FITSUITEITEM_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class FitParameterContainerItem;
 class MinimizerContainerItem;
diff --git a/GUI/Model/Fit/MinimizerItem.h b/GUI/Model/Fit/MinimizerItem.h
index dd0fb4ad65aa716b9676748fc1e06b64b591a974..4c423e11ac4ceceefd1d34802447096801c57971 100644
--- a/GUI/Model/Fit/MinimizerItem.h
+++ b/GUI/Model/Fit/MinimizerItem.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_FIT_MINIMIZERITEM_H
 
 #include "GUI/Model/G8/SelectionDescriptor.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include <variant>
diff --git a/GUI/Model/Fit/ParameterTreeItems.h b/GUI/Model/Fit/ParameterTreeItems.h
index 2e970bc57dcb3e385cccd95718b73d2b4bd11bc9..e410c8864df9f95dfb7cbe1fe3355a613d899005 100644
--- a/GUI/Model/Fit/ParameterTreeItems.h
+++ b/GUI/Model/Fit/ParameterTreeItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_FIT_PARAMETERTREEITEMS_H
 #define BORNAGAIN_GUI_MODEL_FIT_PARAMETERTREEITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 #include <QObject>
 
diff --git a/GUI/Model/G0/DistributionItems.h b/GUI/Model/G0/DistributionItems.h
index 2d8b34e81c8bb989baf535457f74a12930e00693..082969dbb6b3b684659d97302225180e31f3bfd0 100644
--- a/GUI/Model/G0/DistributionItems.h
+++ b/GUI/Model/G0/DistributionItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_G0_DISTRIBUTIONITEMS_H
 #define BORNAGAIN_GUI_MODEL_G0_DISTRIBUTIONITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class IDistribution1D;
 class IRangedDistribution;
diff --git a/GUI/Model/G3/GroupItem.h b/GUI/Model/G3/GroupItem.h
index 5774fe8e928e1c05ccced050e936a3c10fa88b0f..a56c072e9b3a64ddbe49c670321981bc3ba0192e 100644
--- a/GUI/Model/G3/GroupItem.h
+++ b/GUI/Model/G3/GroupItem.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_G3_GROUPITEM_H
 
 #include "GUI/Model/G4/GroupItemController.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <memory>
 
 class GroupInfo;
diff --git a/GUI/Model/G4/GroupItemController.cpp b/GUI/Model/G4/GroupItemController.cpp
index 6ead55eff3cf6bfecf50e9f8cf1c180d9f86aea0..ea70f5b1377f07a2cd3f941fbe6d700ade1a9cab 100644
--- a/GUI/Model/G4/GroupItemController.cpp
+++ b/GUI/Model/G4/GroupItemController.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Model/G4/GroupItemController.h"
 
 #include "GUI/Model/G7/ItemFactory.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include <utility>
 
diff --git a/GUI/Model/G6/PropertyItem.h b/GUI/Model/G6/PropertyItem.h
index 6c11af82210e79825b2c108599966d16247a49f4..50dad9c2884332d4639007bd3e92c215fcfc1d49 100644
--- a/GUI/Model/G6/PropertyItem.h
+++ b/GUI/Model/G6/PropertyItem.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_G6_PROPERTYITEM_H
 #define BORNAGAIN_GUI_MODEL_G6_PROPERTYITEM_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class BA_CORE_API_ PropertyItem : public SessionItem {
 public:
diff --git a/GUI/Model/G7/ItemFactory.cpp b/GUI/Model/G7/ItemFactory.cpp
index 5fbeca5bf6d6dea0e19c8eadeedb50f12d233920..eb7ca6dbdfe4c7c1fd4c023fa0d074c678fbb91f 100644
--- a/GUI/Model/G7/ItemFactory.cpp
+++ b/GUI/Model/G7/ItemFactory.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Model/G7/ItemFactory.h"
 #include "GUI/Model/G5/ItemCatalog.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 SessionItem* GUI::Model::ItemFactory::CreateItem(const QString& model_name, SessionItem* parent)
 {
diff --git a/GUI/Model/Instrument/BackgroundItems.h b/GUI/Model/Instrument/BackgroundItems.h
index 5ce986e289702932389ee9f1e6f3897ecc7db8a3..e1291969ae3f18919350ab4c0c174b2642ae5740 100644
--- a/GUI/Model/Instrument/BackgroundItems.h
+++ b/GUI/Model/Instrument/BackgroundItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_BACKGROUNDITEMS_H
 #define BORNAGAIN_GUI_MODEL_INSTRUMENT_BACKGROUNDITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class IBackground;
 
diff --git a/GUI/Model/Instrument/BeamItems.h b/GUI/Model/Instrument/BeamItems.h
index cee2358abea323e9b667ba15eb26f93532ff2609..c1df416d290d3abc731292981b5fb3cd7aad16bf 100644
--- a/GUI/Model/Instrument/BeamItems.h
+++ b/GUI/Model/Instrument/BeamItems.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_INSTRUMENT_BEAMITEMS_H
 
 #include "GUI/Model/Instrument/SpecularBeamInclinationItem.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <heinz/Vectors3D.h>
 
 class BasicAxisItem;
diff --git a/GUI/Model/Instrument/DetectorItems.h b/GUI/Model/Instrument/DetectorItems.h
index 656ceb5354b305c621487dc76b35ab96f504fd87..9839a5b14dbf668fa2718125f659741d4e1024e6 100644
--- a/GUI/Model/Instrument/DetectorItems.h
+++ b/GUI/Model/Instrument/DetectorItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_DETECTORITEMS_H
 #define BORNAGAIN_GUI_MODEL_INSTRUMENT_DETECTORITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <heinz/Vectors3D.h>
 
 class MaskContainerItem;
diff --git a/GUI/Model/Instrument/FootprintItems.h b/GUI/Model/Instrument/FootprintItems.h
index f9a9d9f940c135805dd426cb594f7634ec8f9f29..a847eee16e7270b6d485a6c4de8c7944a125c58b 100644
--- a/GUI/Model/Instrument/FootprintItems.h
+++ b/GUI/Model/Instrument/FootprintItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_FOOTPRINTITEMS_H
 #define BORNAGAIN_GUI_MODEL_INSTRUMENT_FOOTPRINTITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class IFootprintFactor;
 
diff --git a/GUI/Model/Instrument/ResolutionFunctionItems.h b/GUI/Model/Instrument/ResolutionFunctionItems.h
index 30690edef57d93b311025c6f56153250f0620f78..a321cd9fcd99cb77d4cc12f3ad27ed0f568e35bb 100644
--- a/GUI/Model/Instrument/ResolutionFunctionItems.h
+++ b/GUI/Model/Instrument/ResolutionFunctionItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONFUNCTIONITEMS_H
 #define BORNAGAIN_GUI_MODEL_INSTRUMENT_RESOLUTIONFUNCTIONITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <memory>
 
 class IResolutionFunction2D;
diff --git a/GUI/Model/J0/JobItem.h b/GUI/Model/J0/JobItem.h
index 00ff7367b90ab4af785cfb88e47aa4149cb721f8..0326d7aaddcf2a47a265185219ee2f5e47d69c97 100644
--- a/GUI/Model/J0/JobItem.h
+++ b/GUI/Model/J0/JobItem.h
@@ -21,7 +21,7 @@
 #include "GUI/Model/Base/SimulationOptionsItem.h"
 #include "GUI/Model/Sample/MultiLayerItem.h"
 #include "GUI/Model/Session/SessionModel.h" // call to model() from templated fct
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <QDateTime>
 #include <optional>
 
diff --git a/GUI/Model/J2/JobModel.cpp b/GUI/Model/J4/JobModel.cpp
similarity index 98%
rename from GUI/Model/J2/JobModel.cpp
rename to GUI/Model/J4/JobModel.cpp
index 17739792dde47afc6ec9fe638a6d3491e831c89c..0e21854b4d2813c05ffb85fc5b944f2a7655d769 100644
--- a/GUI/Model/J2/JobModel.cpp
+++ b/GUI/Model/J4/JobModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/J2/JobModel.cpp
+//! @file      GUI/Model/J4/JobModel.cpp
 //! @brief     Implements class JobModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/D7/IntensityDataItem.h"
 #include "GUI/Model/Ax/PointwiseAxisItem.h"
 #include "GUI/Model/RD/RealDataItem.h"
diff --git a/GUI/Model/J2/JobModel.h b/GUI/Model/J4/JobModel.h
similarity index 91%
rename from GUI/Model/J2/JobModel.h
rename to GUI/Model/J4/JobModel.h
index c161e47070313e97ce06dfc358357d8ab5789c1e..50821ba1c1537e29b73166d8c9e456deb3a3a936 100644
--- a/GUI/Model/J2/JobModel.h
+++ b/GUI/Model/J4/JobModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/J2/JobModel.h
+//! @file      GUI/Model/J4/JobModel.h
 //! @brief     Defines class JobModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_J2_JOBMODEL_H
-#define BORNAGAIN_GUI_MODEL_J2_JOBMODEL_H
+#ifndef BORNAGAIN_GUI_MODEL_J4_JOBMODEL_H
+#define BORNAGAIN_GUI_MODEL_J4_JOBMODEL_H
 
 #include "GUI/Model/Session/SessionModel.h"
 
@@ -60,4 +60,4 @@ private:
     JobQueueData* m_queue_data;
 };
 
-#endif // BORNAGAIN_GUI_MODEL_J2_JOBMODEL_H
+#endif // BORNAGAIN_GUI_MODEL_J4_JOBMODEL_H
diff --git a/GUI/Model/J4/JobQueueData.cpp b/GUI/Model/J4/JobQueueData.cpp
index e4ecac82d8f9774716926b5bff7dab42192a788a..b750c34c4a8c283ef577672c07aa38166990cff7 100644
--- a/GUI/Model/J4/JobQueueData.cpp
+++ b/GUI/Model/J4/JobQueueData.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Model/J4/JobQueueData.h"
 #include "Core/Simulation/ISimulation.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/J6/JobWorker.h"
 #include "GUI/Model/To/DomainSimulationBuilder.h"
 #include "GUI/Util/Error.h"
diff --git a/GUI/Model/Mask/MaskItems.h b/GUI/Model/Mask/MaskItems.h
index 2b152648ceafa83d384b46e2c1f663aa46b5d8cc..506685b32edc698bdcffa02a378ff7b1cd65793b 100644
--- a/GUI/Model/Mask/MaskItems.h
+++ b/GUI/Model/Mask/MaskItems.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_MASK_MASKITEMS_H
 #define BORNAGAIN_GUI_MODEL_MASK_MASKITEMS_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Model/Types/DoubleDescriptor.h"
 
 class IShape2D;
diff --git a/GUI/Model/Project/ProjectDocument.cpp b/GUI/Model/Project/ProjectDocument.cpp
index 87ba4d2718d4f9fb99c5847f63e8a82cee01655a..39eed07163df9cb72e702ae4fccef0a374f27842 100644
--- a/GUI/Model/Project/ProjectDocument.cpp
+++ b/GUI/Model/Project/ProjectDocument.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/IO/ProjectUtils.h"
 #include "GUI/Model/Instrument/LinkInstrumentManager.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/Material/MaterialItem.h"
 #include "GUI/Model/Material/MaterialModel.h"
 #include "GUI/Model/Project/OutputDataIOService.h"
diff --git a/GUI/Model/RD/RealDataItem.h b/GUI/Model/RD/RealDataItem.h
index 68ac1b017e5ff8c83aa1d135c9f3c7535210a24a..dfb95ae2ec138e088926153879301e3f20712259 100644
--- a/GUI/Model/RD/RealDataItem.h
+++ b/GUI/Model/RD/RealDataItem.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_RD_REALDATAITEM_H
 
 #include "GUI/Model/IO/AbstractDataLoader.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <QPointer>
 
 class DataItem;
diff --git a/GUI/Model/S4/RealLimitsItems.h b/GUI/Model/S4/RealLimitsItems.h
index a2c08735bd83c7319b3bf2a7b566df92328f858e..47412294bfda68cb3cf6151db4e5ca40e55441ac 100644
--- a/GUI/Model/S4/RealLimitsItems.h
+++ b/GUI/Model/S4/RealLimitsItems.h
@@ -17,7 +17,7 @@
 
 #include <optional>
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 class RealLimitsItem : public SessionItem {
 private:
diff --git a/GUI/Model/S6/ModelMapper.cpp b/GUI/Model/Session/ModelMapper.cpp
similarity index 98%
rename from GUI/Model/S6/ModelMapper.cpp
rename to GUI/Model/Session/ModelMapper.cpp
index dba1887f42567831a6cdb45106122d02e08b0d6c..db4a9be6ad1a1cff15d7ae0326a53f5ba838419d 100644
--- a/GUI/Model/S6/ModelMapper.cpp
+++ b/GUI/Model/Session/ModelMapper.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/S6/ModelMapper.cpp
+//! @file      GUI/Model/Session/ModelMapper.cpp
 //! @brief     Implements class ModelMapper
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/S6/ModelMapper.h"
+#include "GUI/Model/Session/ModelMapper.h"
 #include "GUI/Model/Session/SessionModel.h"
 
 ModelMapper::ModelMapper(QObject* parent)
diff --git a/GUI/Model/S6/ModelMapper.h b/GUI/Model/Session/ModelMapper.h
similarity index 95%
rename from GUI/Model/S6/ModelMapper.h
rename to GUI/Model/Session/ModelMapper.h
index 97c36f1f28d49fd79f60c9c5bd365337536d3e60..6a70a8309fa177d98586a1ff8c847833bb93c012 100644
--- a/GUI/Model/S6/ModelMapper.h
+++ b/GUI/Model/Session/ModelMapper.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/S6/ModelMapper.h
+//! @file      GUI/Model/Session/ModelMapper.h
 //! @brief     Defines class ModelMapper
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_S6_MODELMAPPER_H
-#define BORNAGAIN_GUI_MODEL_S6_MODELMAPPER_H
+#ifndef BORNAGAIN_GUI_MODEL_SESSION_MODELMAPPER_H
+#define BORNAGAIN_GUI_MODEL_SESSION_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_S6_MODELMAPPER_H
+#endif // BORNAGAIN_GUI_MODEL_SESSION_MODELMAPPER_H
diff --git a/GUI/Model/T0/SessionItem.cpp b/GUI/Model/Session/SessionItem.cpp
similarity index 99%
rename from GUI/Model/T0/SessionItem.cpp
rename to GUI/Model/Session/SessionItem.cpp
index 1e33b5893548e891cf1e560fd682e640c2b16fe7..da14bdff0872ed313f82817e4271a4cf8a358a9e 100644
--- a/GUI/Model/T0/SessionItem.cpp
+++ b/GUI/Model/Session/SessionItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/T0/SessionItem.cpp
+//! @file      GUI/Model/Session/SessionItem.cpp
 //! @brief     Implements class SessionItem
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/GUI/Model/T0/SessionItem.h b/GUI/Model/Session/SessionItem.h
similarity index 98%
rename from GUI/Model/T0/SessionItem.h
rename to GUI/Model/Session/SessionItem.h
index defbd1bd2bca2a1e5b8f2b854765daad5f972f23..dabadfb2d578d3f55b43411059aad728aa1a2ef1 100644
--- a/GUI/Model/T0/SessionItem.h
+++ b/GUI/Model/Session/SessionItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/T0/SessionItem.h
+//! @file      GUI/Model/Session/SessionItem.h
 //! @brief     Defines class SessionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_T0_SESSIONITEM_H
-#define BORNAGAIN_GUI_MODEL_T0_SESSIONITEM_H
+#ifndef BORNAGAIN_GUI_MODEL_SESSION_SESSIONITEM_H
+#define BORNAGAIN_GUI_MODEL_SESSION_SESSIONITEM_H
 
 #include "Base/Util/Assert.h"
 #include "Fit/Param/RealLimits.h"
-#include "GUI/Model/S6/ModelMapper.h" // no forward declare, used too often
+#include "GUI/Model/Session/ModelMapper.h" // no forward declare, used too often
 #include "Wrap/WinDllMacros.h"
 #include <QStringList>
 #include <memory>
@@ -405,4 +405,4 @@ template <typename T> bool SessionItem::hasModelType() const
     return modelType() == T::M_TYPE;
 }
 
-#endif // BORNAGAIN_GUI_MODEL_T0_SESSIONITEM_H
+#endif // BORNAGAIN_GUI_MODEL_SESSION_SESSIONITEM_H
diff --git a/GUI/Model/Session/SessionModel.cpp b/GUI/Model/Session/SessionModel.cpp
index f43727a7196226d3d56ad02166485c84f96818bb..953c54289535fa85e46ce583d4dbeaf14eb44862 100644
--- a/GUI/Model/Session/SessionModel.cpp
+++ b/GUI/Model/Session/SessionModel.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Model/Session/SessionModel.h"
 #include "GUI/Model/G7/ItemFactory.h"
 #include "GUI/Model/Material/MaterialItem.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Model/S3/SessionXML.h"
 #include "GUI/Util/Error.h"
 #include "GUI/Util/Path.h"
diff --git a/GUI/Model/Types/DoubleDescriptor.cpp b/GUI/Model/Types/DoubleDescriptor.cpp
index c3c761aa3a7f0dcd253fcad98706a9bdec38ff4e..dadde282921cf7a00d9a69f07d7d21aac86e502a 100644
--- a/GUI/Model/Types/DoubleDescriptor.cpp
+++ b/GUI/Model/Types/DoubleDescriptor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Types/DoubleDescriptor.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Model/Session/SessionModel.h"
 #include "GUI/Util/Path.h"
 #include <utility>
diff --git a/GUI/Model/Types/UIntDescriptor.cpp b/GUI/Model/Types/UIntDescriptor.cpp
index 9e9d2ba6d955540439354185df89695c6c2f55d9..8d010555bd816ea35089329e3bd27bbd161518d0 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/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <utility>
 
 UIntDescriptor::UIntDescriptor(const QString& label, SessionItem* item,
diff --git a/GUI/Model/Types/VectorItem.h b/GUI/Model/Types/VectorItem.h
index 4fe880996ccff222bcd0673f72c30342431ae274..97f9609b581510bd4d6f97b0fdd3a0eeb70e1d32 100644
--- a/GUI/Model/Types/VectorItem.h
+++ b/GUI/Model/Types/VectorItem.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODEL_TYPES_VECTORITEM_H
 #define BORNAGAIN_GUI_MODEL_TYPES_VECTORITEM_H
 
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include <heinz/Vectors3D.h>
 
 class BA_CORE_API_ VectorItem : public SessionItem {
diff --git a/GUI/View/Common/SessionItemController.cpp b/GUI/View/Common/SessionItemController.cpp
index ec6b45953d81ae80bc6150cdddd3ffc6a205477d..0e0d20a00d88e7c0ae39c874ee609740ef25c70c 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/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 
 SessionItemController::SessionItemController(QObject* prt)
     : QObject(prt), m_item(nullptr), m_parent_subscribed(false)
diff --git a/GUI/View/Fit/FitActivityPanel.cpp b/GUI/View/Fit/FitActivityPanel.cpp
index 5852ba956bf34f5b0f7cfeeebac51ce47d23f728..dd378e66bce8cdc3fa3ff1fba55ccb417204e414 100644
--- a/GUI/View/Fit/FitActivityPanel.cpp
+++ b/GUI/View/Fit/FitActivityPanel.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Fit/FitActivityPanel.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/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/FitParameterDelegate.cpp b/GUI/View/Fit/FitParameterDelegate.cpp
index 49116155a9e1d23382c5fc71f413bd27f4f47b2b..c8c94dcf588900eac5b34bb287beb0dc0db81b72 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/T0/SessionItem.h"
+#include "GUI/Model/Session/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 deb8e3e1acf313378cc7683da51b207cc2a2be61..32aae0a0c1bff0f9d63b796ed5fae4a8a4540795 100644
--- a/GUI/View/Fit/FitParameterWidget.cpp
+++ b/GUI/View/Fit/FitParameterWidget.cpp
@@ -22,7 +22,7 @@
 #include "GUI/Model/Fit/ParameterTreeItems.h"
 #include "GUI/View/Fit/FilterPropertyProxy.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/View/Fit/FitParameterDelegate.h"
 #include "GUI/View/Fit/ParameterTuningWidget.h"
 #include "GUI/View/Info/OverlayLabelController.h"
diff --git a/GUI/View/Fit/JobRealTimeWidget.cpp b/GUI/View/Fit/JobRealTimeWidget.cpp
index f53a2379b69160cae7201809d4531400a8c25d67..08d095928e28b9c01baffa53a0e544437aea671e 100644
--- a/GUI/View/Fit/JobRealTimeWidget.cpp
+++ b/GUI/View/Fit/JobRealTimeWidget.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Fit/JobRealTimeWidget.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/View/Fit/ParameterTuningWidget.h"
 #include "GUI/View/Tool/mainwindow_constants.h"
 #include <QVBoxLayout>
diff --git a/GUI/View/Fit/ParameterTuningWidget.cpp b/GUI/View/Fit/ParameterTuningWidget.cpp
index fd0e0c6a920bcbc54381f7a3958c101c49f11d5b..81f80ed03c6a66abf1ce59787ea0835060103cd7 100644
--- a/GUI/View/Fit/ParameterTuningWidget.cpp
+++ b/GUI/View/Fit/ParameterTuningWidget.cpp
@@ -17,7 +17,7 @@
 #include "GUI/Model/Fit/ParameterTreeItems.h"
 #include "GUI/Model/Fit/ParameterTuningModel.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Common/StyledToolBar.h"
 #include "GUI/View/Fit/ParameterTuningDelegate.h"
diff --git a/GUI/View/Import/SpecularDataImportWidget.cpp b/GUI/View/Import/SpecularDataImportWidget.cpp
index dfddb44e0e0be0d541b330c28f950d0bea15cec5..ae866f2447d58f8b363ddb0a284e780323eacfcc 100644
--- a/GUI/View/Import/SpecularDataImportWidget.cpp
+++ b/GUI/View/Import/SpecularDataImportWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Import/SpecularDataImportWidget.h"
-#include "GUI/Model/D3/DataItemUtils.h"
+#include "GUI/View/Tool/DataItemUtils.h"
 #include "GUI/Model/RD/RealDataItem.h"
 #include "GUI/Model/D9/SpecularDataItem.h"
 #include "GUI/Model/IO/AbstractDataLoaderResultModel.h"
diff --git a/GUI/View/Job/JobListModel.cpp b/GUI/View/Job/JobListModel.cpp
index 15100f3af42cbf3d2d3bb1198797590043fed691..dd7046d9369ec3c621df7161bdc33a18535d1b86 100644
--- a/GUI/View/Job/JobListModel.cpp
+++ b/GUI/View/Job/JobListModel.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Job/JobListModel.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 
 //==================================================================================================
 // JobListModel
diff --git a/GUI/View/Job/JobListView.cpp b/GUI/View/Job/JobListView.cpp
index 37aa34641ff5573598a0155d74fd037a9cb6a894..0369993b86ed499899a31e41d2bcee38a1de389e 100644
--- a/GUI/View/Job/JobListView.cpp
+++ b/GUI/View/Job/JobListView.cpp
@@ -15,7 +15,7 @@
 #include "GUI/View/Job/JobListView.h"
 #include "GUI/Model/D7/IntensityDataItem.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/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/JobProgressAssistant.cpp b/GUI/View/Job/JobProgressAssistant.cpp
index fd1d7ba5fe3258d6a2290fe0648a627f54d27439..3d6b54507e710535fc5d5246e753c89096d8403e 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/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/View/Main/MainWindow.h"
 #include <QProgressBar>
 
diff --git a/GUI/View/Job/JobView.cpp b/GUI/View/Job/JobView.cpp
index a79d400bb703fef4d8bb0870b399383f173537b2..463013bb41e822b2b4323bff6f02df69f05f2f68 100644
--- a/GUI/View/Job/JobView.cpp
+++ b/GUI/View/Job/JobView.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/View/Job/JobView.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/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/Main/MainWindow.cpp b/GUI/View/Main/MainWindow.cpp
index 5d28d6d59e98d94d95120dddb145616cdb7893f1..11e8e955c69adef5aa7c3ff0a1efd7e2997ddb18 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/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/Util/OSInfo.h"
 #include "GUI/Util/Path.h"
diff --git a/GUI/View/Mask/MaskViewFactory.cpp b/GUI/View/Mask/MaskViewFactory.cpp
index 53f0a0dbf663bc82c296f0123ce45242ee2ba7cb..db204bf763e7f3fc60e2c28ba4a06c75fe2920f6 100644
--- a/GUI/View/Mask/MaskViewFactory.cpp
+++ b/GUI/View/Mask/MaskViewFactory.cpp
@@ -15,7 +15,7 @@
 #include "GUI/View/Mask/MaskViewFactory.h"
 #include "GUI/Model/Mask/MaskItems.h"
 #include "GUI/Model/D8/ProjectionItems.h"
-#include "GUI/Model/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Util/Error.h"
 #include "GUI/View/Mask/EllipseView.h"
 #include "GUI/View/Mask/LineViews.h"
diff --git a/GUI/View/Plot2D/IntensityDataWidget.cpp b/GUI/View/Plot2D/IntensityDataWidget.cpp
index 0d1c5639ed784da6313e3bfb707ac67c2c6a2d10..258e5bec5d067c54a9af3ded128a2b20ac96f613 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/D3/DataItemUtils.h"
+#include "GUI/View/Tool/DataItemUtils.h"
 #include "GUI/Model/D7/IntensityDataItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/Plot2D/IntensityDataCanvas.h"
diff --git a/GUI/View/PlotSpecular/SpecularDataWidget.cpp b/GUI/View/PlotSpecular/SpecularDataWidget.cpp
index 82b48b9485d8ad9ac05459e519edc62eeaf79d67..655c57a06cea8115955e794a2a3643464dc5a65f 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/D3/DataItemUtils.h"
+#include "GUI/View/Tool/DataItemUtils.h"
 #include "GUI/Model/D9/SpecularDataItem.h"
 #include "GUI/Util/ActionFactory.h"
 #include "GUI/View/PlotSpecular/SpecularDataCanvas.h"
diff --git a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
index d71606f02b9ca3d3ce8d0ca413bdbde5a1186629..2c774697ab3f33299789cec1732c661f897dfdd5 100644
--- a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
+++ b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Projection/IntensityDataProjectionsWidget.h"
-#include "GUI/Model/D3/DataItemUtils.h"
+#include "GUI/View/Tool/DataItemUtils.h"
 #include "GUI/Model/D7/IntensityDataItem.h"
 #include "GUI/Model/D8/ProjectionItems.h"
 #include "GUI/View/Projection/ProjectionsEditor.h"
diff --git a/GUI/View/PropertyEditor/PropertyEditorFactory.cpp b/GUI/View/PropertyEditor/PropertyEditorFactory.cpp
index 8da3500da78cf77a07adde6d3cab5b211e216ebb..212991f64846859f3c443315db3690886cad1034 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/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/Util/ComboProperty.h"
 #include "GUI/View/PropertyEditor/CustomEditors.h"
 #include "GUI/View/PropertyEditor/ScientificSpinBox.h"
diff --git a/GUI/Model/D3/DataItemUtils.cpp b/GUI/View/Tool/DataItemUtils.cpp
similarity index 94%
rename from GUI/Model/D3/DataItemUtils.cpp
rename to GUI/View/Tool/DataItemUtils.cpp
index c9c38a9eaf8f857e1eef7330264ae428a460bb60..8c7df231f67918bffec1a4641312fea013ec3077 100644
--- a/GUI/Model/D3/DataItemUtils.cpp
+++ b/GUI/View/Tool/DataItemUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/D3/DataItemUtils.cpp
+//! @file      GUI/View/Tool/DataItemUtils.cpp
 //! @brief     Implements namespace DataItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Model/D3/DataItemUtils.h"
+#include "GUI/View/Tool/DataItemUtils.h"
 #include "GUI/Model/D7/IntensityDataItem.h"
 #include "GUI/Model/RD/RealDataItem.h"
 #include "GUI/Model/D9/SpecularDataItem.h"
diff --git a/GUI/Model/D3/DataItemUtils.h b/GUI/View/Tool/DataItemUtils.h
similarity index 84%
rename from GUI/Model/D3/DataItemUtils.h
rename to GUI/View/Tool/DataItemUtils.h
index 2b898870653e1707d1b3de4d4a37c62b38358502..2985fa80aee6e4561c95f8ecdd285a1b52299e67 100644
--- a/GUI/Model/D3/DataItemUtils.h
+++ b/GUI/View/Tool/DataItemUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Model/D3/DataItemUtils.h
+//! @file      GUI/View/Tool/DataItemUtils.h
 //! @brief     Defines functions in  namespace GUI::Model::DataItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_MODEL_D3_DATAITEMUTILS_H
-#define BORNAGAIN_GUI_MODEL_D3_DATAITEMUTILS_H
+#ifndef BORNAGAIN_GUI_VIEW_TOOL_DATAITEMUTILS_H
+#define BORNAGAIN_GUI_VIEW_TOOL_DATAITEMUTILS_H
 
 class IntensityDataItem;
 class SessionItem;
@@ -31,4 +31,4 @@ SpecularDataItem* specularDataItem(SessionItem* parent);
 
 } // namespace GUI::Model::DataItemUtils
 
-#endif // BORNAGAIN_GUI_MODEL_D3_DATAITEMUTILS_H
+#endif // BORNAGAIN_GUI_VIEW_TOOL_DATAITEMUTILS_H
diff --git a/GUI/View/Toplevel/SessionModelView.cpp b/GUI/View/Toplevel/SessionModelView.cpp
index ed4e8f4406ded41bdd7da9a520cdf8461d0de064..1213a550207195061e3ec00f5bfc4f447288284c 100644
--- a/GUI/View/Toplevel/SessionModelView.cpp
+++ b/GUI/View/Toplevel/SessionModelView.cpp
@@ -15,7 +15,7 @@
 #include "GUI/View/Toplevel/SessionModelView.h"
 #include "GUI/Model/RD/RealDataModel.h"
 #include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/Material/MaterialModel.h"
 #include "GUI/Model/Sample/ItemWithMaterial.h"
 #include "GUI/Model/Sample/SampleModel.h"
diff --git a/GUI/View/Toplevel/SimulationView.cpp b/GUI/View/Toplevel/SimulationView.cpp
index 5530875e7598ea7c92a99f106c5b27e9fd665cd7..d9dbdcfe8fe0f0c6c471f87defce447baf49f989 100644
--- a/GUI/View/Toplevel/SimulationView.cpp
+++ b/GUI/View/Toplevel/SimulationView.cpp
@@ -18,7 +18,7 @@
 #include "GUI/Model/Instrument/InstrumentItems.h"
 #include "GUI/Model/Instrument/InstrumentModel.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Model/Base/SimulationOptionsItem.h"
 #include "GUI/Model/Sample/MultiLayerItem.h"
diff --git a/Tests/Unit/GUI/TestFitParameterModel.cpp b/Tests/Unit/GUI/TestFitParameterModel.cpp
index 44b8c52b6c30aa1b4075d56da108617626b88b88..d3812be7cfbbbc4d5d75304e2a738dd184eac597 100644
--- a/Tests/Unit/GUI/TestFitParameterModel.cpp
+++ b/Tests/Unit/GUI/TestFitParameterModel.cpp
@@ -3,7 +3,7 @@
 #include "GUI/Model/Fit/FitParameterLinkItem.h"
 #include "GUI/Model/Fit/FitParameterModel.h"
 #include "GUI/Model/Fit/FitSuiteItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class TestFitParameterModel : public ::testing::Test {
diff --git a/Tests/Unit/GUI/TestMapperForItem.cpp b/Tests/Unit/GUI/TestMapperForItem.cpp
index e03ff99a1c977e04069a77f0118742f2ada39ed8..ea9c3f54cca91c8891e5393818c2eb00cf3477ce 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/D8/ProjectionItems.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.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 e796069f5956fc79b2f63323e0c18a78eee3b084..24e04f9bfba4855b8636afc9d25cffd04a987c95 100644
--- a/Tests/Unit/GUI/TestOutputDataIOService.cpp
+++ b/Tests/Unit/GUI/TestOutputDataIOService.cpp
@@ -7,7 +7,7 @@
 #include "GUI/Model/IO/ProjectUtils.h"
 #include "GUI/Model/J0/JobItem.h"
 #include "GUI/Model/J1/JobItemUtils.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/J3/JobModelFunctions.h"
 #include "GUI/Model/Project/OutputDataIOService.h"
 #include "GUI/Util/Error.h"
diff --git a/Tests/Unit/GUI/TestSavingSpecularData.cpp b/Tests/Unit/GUI/TestSavingSpecularData.cpp
index 3d7aa8d6610b35f1e97aebcc3745635c670cdf8b..f9b8b03ebe116c7331df1a1b7005988f5311a3c0 100644
--- a/Tests/Unit/GUI/TestSavingSpecularData.cpp
+++ b/Tests/Unit/GUI/TestSavingSpecularData.cpp
@@ -9,7 +9,7 @@
 #include "GUI/Model/Instrument/InstrumentItems.h"
 #include "GUI/Model/Instrument/InstrumentModel.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/J3/JobModelFunctions.h"
 #include "GUI/Model/Project/OutputDataIOService.h"
 #include "GUI/Util/Error.h"
diff --git a/Tests/Unit/GUI/TestSessionItemControllerHelper.cpp b/Tests/Unit/GUI/TestSessionItemControllerHelper.cpp
index 6e8957fbaf05b0ed319500250dfb49dc2fd24e1e..bb72b8e38907c1fa4c8524c7b1f2619c5edc9885 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/T0/SessionItem.h"
+#include "GUI/Model/Session/SessionItem.h"
 #include "GUI/View/Common/SessionItemController.h"
 
 TestListener::TestListener()
diff --git a/Tests/Unit/GUI/TestSessionModel.cpp b/Tests/Unit/GUI/TestSessionModel.cpp
index 17eb156aace4a73c479d267f12ab6edeb33af929..1f5d6dedb6d616a78065d6f3e976fe679ad0b60a 100644
--- a/Tests/Unit/GUI/TestSessionModel.cpp
+++ b/Tests/Unit/GUI/TestSessionModel.cpp
@@ -3,7 +3,7 @@
 #include "GUI/Model/Instrument/InstrumentItems.h"
 #include "GUI/Model/Instrument/InstrumentModel.h"
 #include "GUI/Model/J0/JobItem.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/Material/MaterialModel.h"
 #include "GUI/Model/Sample/LayerItem.h"
 #include "GUI/Model/Sample/MultiLayerItem.h"
diff --git a/Tests/Unit/GUI/TestSessionXML.cpp b/Tests/Unit/GUI/TestSessionXML.cpp
index 8eaf6c00e2485d7d49b9d0b0f6e41cc46bde2505..10574c27966ba0d6e8e27a41c4c2a1792f765ca6 100644
--- a/Tests/Unit/GUI/TestSessionXML.cpp
+++ b/Tests/Unit/GUI/TestSessionXML.cpp
@@ -2,7 +2,7 @@
 #include "GUI/Model/Instrument/BackgroundItems.h"
 #include "GUI/Model/Instrument/InstrumentItems.h"
 #include "GUI/Model/Instrument/InstrumentModel.h"
-#include "GUI/Model/J2/JobModel.h"
+#include "GUI/Model/J4/JobModel.h"
 #include "GUI/Model/S1/Serializer.h"
 #include "GUI/Model/S3/SessionXML.h"
 #include "GUI/Model/Sample/FormFactorItems.h"