From 610157fadd6ea744f08784b06fede7a9817866c8 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (l)" <j.wuttke@fz-juelich.de>
Date: Fri, 5 Nov 2021 11:42:44 +0100
Subject: [PATCH] rm GUI/Items, all files moved to GUI/Models

---
 GUI/Mapper/ComponentProxyModel.cpp            |  4 +-
 GUI/Mapper/ComponentProxyStrategy.cpp         |  6 +-
 GUI/Mapper/ComponentUtils.cpp                 | 10 +-
 GUI/Mapper/ModelMapper.cpp                    |  2 +-
 GUI/Mapper/ModelUtils.cpp                     |  2 +-
 GUI/Mapper/ProxyModelStrategy.cpp             |  2 +-
 GUI/Models/Data/ApplicationModels.cpp         |  2 +-
 GUI/{Items => Models/Data}/AxesItems.cpp      |  4 +-
 GUI/{Items => Models/Data}/AxesItems.h        | 10 +-
 GUI/{Items => Models/Data}/Data1DViewItem.cpp | 10 +-
 GUI/{Items => Models/Data}/Data1DViewItem.h   | 10 +-
 GUI/{Items => Models/Data}/DataItem.cpp       |  4 +-
 GUI/{Items => Models/Data}/DataItem.h         | 10 +-
 GUI/{Items => Models/Data}/DataItemUtils.cpp  | 12 +--
 GUI/{Items => Models/Data}/DataItemUtils.h    |  8 +-
 GUI/Models/Data/DataProperties.cpp            |  6 +-
 GUI/Models/Data/DataProperties.h              |  2 +-
 GUI/Models/Data/DataPropertyContainer.cpp     |  2 +-
 GUI/Models/Data/DataPropertyContainer.h       |  2 +-
 GUI/Models/Data/DataViewUtils.cpp             | 10 +-
 GUI/Models/Data/DocumentModel.cpp             |  2 +-
 GUI/Models/Data/DocumentModel.h               |  2 +-
 GUI/Models/Data/GUIObjectBuilder.cpp          |  4 +-
 GUI/Models/Data/ImportDataInfo.cpp            |  2 +-
 .../Data}/IntensityDataItem.cpp               | 14 +--
 .../Data}/IntensityDataItem.h                 | 10 +-
 GUI/Models/Data/MaskUnitsConverter.cpp        |  6 +-
 .../Data}/PointwiseAxisItem.cpp               |  6 +-
 .../Data}/PointwiseAxisItem.h                 | 10 +-
 GUI/{Items => Models/Data}/RealDataItem.cpp   | 22 ++---
 GUI/{Items => Models/Data}/RealDataItem.h     | 10 +-
 GUI/Models/Data/RealDataModel.cpp             |  4 +-
 GUI/Models/Data/RealDataModel.h               |  2 +-
 .../Data}/SpecularDataItem.cpp                |  8 +-
 GUI/{Items => Models/Data}/SpecularDataItem.h | 10 +-
 GUI/Models/Domain/DomainObjectBuilder.cpp     | 10 +-
 GUI/Models/Domain/DomainSimulationBuilder.cpp | 12 +--
 GUI/Models/Domain/TransformFromDomain.cpp     | 32 +++----
 GUI/Models/Domain/TransformToDomain.cpp       | 36 ++++----
 .../Fit}/FitParameterItems.cpp                | 10 +-
 GUI/{Items => Models/Fit}/FitParameterItems.h | 10 +-
 GUI/Models/Fit/FitParameterProxyModel.cpp     |  6 +-
 GUI/{Items => Models/Fit}/FitSuiteItem.cpp    | 10 +-
 GUI/{Items => Models/Fit}/FitSuiteItem.h      | 10 +-
 GUI/{Items => Models/Fit}/MinimizerItem.cpp   |  6 +-
 GUI/{Items => Models/Fit}/MinimizerItem.h     | 10 +-
 .../Fit}/MinimizerItemCatalog.cpp             |  4 +-
 .../Fit}/MinimizerItemCatalog.h               |  8 +-
 GUI/Models/Group/GroupInfo.h                  |  2 +-
 GUI/{Items => Models/Group}/GroupItem.cpp     |  4 +-
 GUI/{Items => Models/Group}/GroupItem.h       | 12 +--
 .../Group}/GroupItemController.cpp            |  8 +-
 .../Group}/GroupItemController.h              |  8 +-
 GUI/Models/Group/SelectionDescriptor.h        |  2 +-
 .../Instrument}/BackgroundItems.cpp           |  4 +-
 .../Instrument}/BackgroundItems.h             | 10 +-
 .../Instrument}/BeamAngleItems.cpp            |  4 +-
 .../Instrument}/BeamAngleItems.h              | 10 +-
 .../Instrument}/BeamDistributionItem.cpp      |  8 +-
 .../Instrument}/BeamDistributionItem.h        | 12 +--
 .../Instrument}/BeamItems.cpp                 | 16 ++--
 GUI/{Items => Models/Instrument}/BeamItems.h  | 12 +--
 .../Instrument}/BeamWavelengthItem.cpp        |  4 +-
 .../Instrument}/BeamWavelengthItem.h          | 10 +-
 .../Instrument}/DetectorItems.cpp             | 12 +--
 .../Instrument}/DetectorItems.h               | 10 +-
 .../Instrument}/FootprintItems.cpp            |  4 +-
 .../Instrument}/FootprintItems.h              | 10 +-
 .../Instrument}/InstrumentItems.cpp           | 26 +++---
 .../Instrument}/InstrumentItems.h             | 10 +-
 GUI/Models/Instrument/InstrumentLibrary.cpp   |  2 +-
 GUI/Models/Instrument/InstrumentModel.cpp     |  6 +-
 GUI/Models/Instrument/InstrumentModel.h       |  2 +-
 .../Instrument/InstrumentsTreeModel.cpp       |  2 +-
 .../Instrument}/MaskItems.cpp                 |  4 +-
 GUI/{Items => Models/Instrument}/MaskItems.h  | 10 +-
 .../Instrument}/RectangularDetectorItem.cpp   |  8 +-
 .../Instrument}/RectangularDetectorItem.h     | 10 +-
 .../SpecularBeamInclinationItem.cpp           |  8 +-
 .../Instrument}/SpecularBeamInclinationItem.h | 10 +-
 .../Instrument}/SphericalDetectorItem.cpp     |  6 +-
 .../Instrument}/SphericalDetectorItem.h       | 10 +-
 GUI/Models/Job/FitParameterHelper.cpp         |  8 +-
 GUI/{Items => Models/Job}/JobItem.cpp         | 28 +++---
 GUI/{Items => Models/Job}/JobItem.h           | 12 +--
 GUI/{Items => Models/Job}/JobItemUtils.cpp    |  8 +-
 GUI/{Items => Models/Job}/JobItemUtils.h      |  8 +-
 GUI/Models/Job/JobModel.cpp                   | 18 ++--
 GUI/Models/Job/JobModel.h                     |  2 +-
 .../Job}/JobModelFunctions.cpp                | 38 ++++----
 GUI/{Items => Models/Job}/JobModelFunctions.h |  8 +-
 GUI/Models/Job/JobQueueData.cpp               |  2 +-
 GUI/Models/Job/ParameterTreeUtils.cpp         | 16 ++--
 .../Material}/MaterialDataItems.cpp           |  4 +-
 .../Material}/MaterialDataItems.h             | 10 +-
 .../Material}/MaterialItem.cpp                |  6 +-
 GUI/{Items => Models/Material}/MaterialItem.h | 10 +-
 .../Material}/MaterialItemContainer.cpp       |  8 +-
 .../Material}/MaterialItemContainer.h         | 10 +-
 .../Material}/MaterialItemUtils.cpp           | 18 ++--
 .../Material}/MaterialItemUtils.h             | 10 +-
 GUI/Models/Material/MaterialModel.cpp         |  2 +-
 GUI/Models/Material/MaterialModel.h           |  2 +-
 GUI/Models/Parameter/FilterPropertyProxy.cpp  |  8 +-
 .../Parameter}/ParameterTreeItems.cpp         | 10 +-
 .../Parameter}/ParameterTreeItems.h           | 10 +-
 GUI/Models/Parameter/ParameterTuningModel.cpp |  4 +-
 GUI/Models/Project/LinkInstrumentManager.cpp  |  4 +-
 GUI/Models/Project/OutputDataIOService.cpp    |  4 +-
 .../Sample}/FTDecayFunctionItems.cpp          |  4 +-
 .../Sample}/FTDecayFunctionItems.h            | 10 +-
 .../Sample}/FTDistributionItems.cpp           |  4 +-
 .../Sample}/FTDistributionItems.h             | 10 +-
 .../Sample}/FormFactorItems.cpp               |  4 +-
 .../Sample}/FormFactorItems.h                 | 10 +-
 GUI/Models/Sample/GUIDomainSampleVisitor.cpp  | 26 +++---
 .../Sample}/InterferenceItems.cpp             | 10 +-
 .../Sample}/InterferenceItems.h               | 10 +-
 .../Sample}/ItemWithParticles.cpp             | 14 +--
 .../Sample}/ItemWithParticles.h               | 10 +-
 .../Sample}/Lattice2DItems.cpp                |  4 +-
 GUI/{Items => Models/Sample}/Lattice2DItems.h | 10 +-
 GUI/{Items => Models/Sample}/LayerItem.cpp    | 12 +--
 GUI/{Items => Models/Sample}/LayerItem.h      | 10 +-
 .../Sample}/LayerRoughnessItems.cpp           |  4 +-
 .../Sample}/LayerRoughnessItems.h             | 10 +-
 .../Sample}/MesoCrystalItem.cpp               | 14 +--
 .../Sample}/MesoCrystalItem.h                 | 12 +--
 .../Sample}/MultiLayerItem.cpp                |  8 +-
 GUI/{Items => Models/Sample}/MultiLayerItem.h | 10 +-
 .../Sample}/ParticleCompositionItem.cpp       | 16 ++--
 .../Sample}/ParticleCompositionItem.h         | 10 +-
 .../Sample}/ParticleCoreShellItem.cpp         | 14 +--
 .../Sample}/ParticleCoreShellItem.h           | 10 +-
 GUI/{Items => Models/Sample}/ParticleItem.cpp | 18 ++--
 GUI/{Items => Models/Sample}/ParticleItem.h   | 12 +--
 .../Sample}/ParticleLayoutItem.cpp            | 20 ++--
 .../Sample}/ParticleLayoutItem.h              | 12 +--
 .../Sample}/ResolutionFunctionItems.cpp       |  4 +-
 .../Sample}/ResolutionFunctionItems.h         | 10 +-
 GUI/Models/Sample/SampleListModel.cpp         |  2 +-
 GUI/Models/Sample/SampleModel.cpp             |  8 +-
 GUI/Models/Sample/SampleModel.h               |  2 +-
 GUI/Models/Sample/SampleValidator.cpp         | 10 +-
 .../Session}/SessionDecorationModel.cpp       |  8 +-
 .../Session}/SessionDecorationModel.h         |  8 +-
 GUI/{Items => Models/Session}/SessionFlags.h  |  8 +-
 .../Session}/SessionGraphicsItem.cpp          |  4 +-
 .../Session}/SessionGraphicsItem.h            | 10 +-
 GUI/{Items => Models/Session}/SessionItem.cpp | 18 ++--
 GUI/{Items => Models/Session}/SessionItem.h   |  8 +-
 .../Session}/SessionItemData.cpp              |  6 +-
 .../Session}/SessionItemData.h                |  8 +-
 .../Session}/SessionItemTags.cpp              |  4 +-
 .../Session}/SessionItemTags.h                |  8 +-
 .../Session}/SessionItemUtils.cpp             | 14 +--
 .../Session}/SessionItemUtils.h               |  8 +-
 .../Session}/SessionModel.cpp                 | 10 +-
 GUI/{Items => Models/Session}/SessionModel.h  | 14 +--
 GUI/{Items => Models/Session}/SessionXML.cpp  | 10 +-
 GUI/{Items => Models/Session}/SessionXML.h    |  8 +-
 .../Trafo}/ProjectionItems.cpp                |  6 +-
 GUI/{Items => Models/Trafo}/ProjectionItems.h | 10 +-
 GUI/{Items => Models/Trafo}/RotationItems.cpp |  4 +-
 GUI/{Items => Models/Trafo}/RotationItems.h   | 10 +-
 .../Trafo}/TransformationItem.cpp             |  6 +-
 .../Trafo}/TransformationItem.h               | 10 +-
 GUI/Models/Types/DoubleDescriptor.cpp         |  4 +-
 GUI/Models/Types/UIntDescriptor.cpp           |  2 +-
 GUI/Models/Types/VectorDescriptor.h           |  2 +-
 GUI/{Items => Models/Types}/VectorItem.cpp    |  4 +-
 GUI/{Items => Models/Types}/VectorItem.h      | 10 +-
 .../Varia}/DistributionItems.cpp              |  6 +-
 .../Varia}/DistributionItems.h                | 10 +-
 GUI/{Items => Models/Varia}/ItemCatalog.cpp   | 92 +++++++++----------
 GUI/{Items => Models/Varia}/ItemCatalog.h     |  8 +-
 GUI/{Items => Models/Varia}/ItemFactory.cpp   |  8 +-
 GUI/{Items => Models/Varia}/ItemFactory.h     |  8 +-
 .../Varia}/ItemFileNameUtils.cpp              | 10 +-
 .../Varia}/ItemFileNameUtils.h                |  8 +-
 .../Varia}/ItemWithDistribution.h             |  8 +-
 .../Varia}/ItemWithMaterial.cpp               | 12 +--
 .../Varia}/ItemWithMaterial.h                 | 10 +-
 GUI/{Items => Models/Varia}/ModelPath.cpp     |  8 +-
 GUI/{Items => Models/Varia}/ModelPath.h       |  8 +-
 GUI/{Items => Models/Varia}/PropertyItem.cpp  |  4 +-
 GUI/{Items => Models/Varia}/PropertyItem.h    | 10 +-
 .../Varia}/RealLimitsItems.cpp                |  4 +-
 GUI/{Items => Models/Varia}/RealLimitsItems.h | 10 +-
 .../Varia}/SimulationOptionsItem.cpp          |  4 +-
 .../Varia}/SimulationOptionsItem.h            | 10 +-
 GUI/Views/FitWidgets/FitActivityPanel.cpp     |  2 +-
 GUI/Views/FitWidgets/FitObjectiveBuilder.cpp  | 12 +--
 GUI/Views/FitWidgets/FitParameterWidget.cpp   |  8 +-
 GUI/Views/FitWidgets/FitSessionController.cpp |  8 +-
 GUI/Views/FitWidgets/FitSessionManager.cpp    |  2 +-
 GUI/Views/FitWidgets/FitSessionWidget.cpp     |  2 +-
 GUI/Views/FitWidgets/JobRealTimeWidget.cpp    |  2 +-
 .../FitWidgets/MinimizerSettingsWidget.cpp    |  6 +-
 .../FitWidgets/ParameterTuningDelegate.cpp    |  8 +-
 .../FitWidgets/ParameterTuningWidget.cpp      |  6 +-
 GUI/Views/FitWidgets/RunFitControlWidget.cpp  |  4 +-
 .../ImportDataWidgets/ImportDataUtils.cpp     |  2 +-
 .../ImportDataWidgets/RealDataMaskWidget.cpp  |  6 +-
 .../ImportDataWidgets/RealDataPresenter.cpp   |  2 +-
 .../RealDataPropertiesWidget.cpp              |  4 +-
 .../RealDataSelectorWidget.cpp                |  2 +-
 .../ImportDataWidgets/RealDataTreeModel.cpp   |  2 +-
 .../DepthProbeInstrumentEditor.cpp            |  4 +-
 .../DetectorAlignmentEditor.cpp               |  2 +-
 .../InstrumentWidgets/DetectorEditor.cpp      |  6 +-
 .../InstrumentWidgets/DistributionEditor.cpp  |  6 +-
 .../InstrumentWidgets/DistributionForms.cpp   |  4 +-
 .../InstrumentWidgets/DistributionPlot.cpp    |  4 +-
 .../EditDistributionDialog.cpp                |  2 +-
 .../InstrumentWidgets/EnvironmentEditor.cpp   |  4 +-
 .../FootprintCorrectionEditor.cpp             |  4 +-
 .../InstrumentWidgets/GISASBeamEditor.cpp     |  6 +-
 .../GISASInstrumentEditor.cpp                 |  2 +-
 .../InclinationAnglesEditor.cpp               |  6 +-
 .../InstrumentWidgets/InstrumentEditor.cpp    |  2 +-
 .../InstrumentLibraryEditor.cpp               |  2 +-
 .../InstrumentWidgets/InstrumentListModel.cpp |  2 +-
 .../InstrumentWidgets/InstrumentListView.cpp  |  2 +-
 .../InstrumentWidgets/InstrumentView.cpp      |  2 +-
 .../OffSpecularBeamEditor.cpp                 |  6 +-
 .../OffSpecularInstrumentEditor.cpp           |  2 +-
 .../PolarizationAnalysisEditor.cpp            |  6 +-
 .../RectangularDetectorEditor.cpp             |  6 +-
 .../ResolutionFunctionEditor.cpp              |  4 +-
 .../InstrumentWidgets/SpecularBeamEditor.cpp  |  4 +-
 .../SpecularInstrumentEditor.cpp              |  2 +-
 .../InstrumentWidgets/SphericalAxisEditor.cpp |  2 +-
 .../SphericalDetectorEditor.cpp               |  2 +-
 GUI/Views/InstrumentWidgets/VectorEditor.cpp  |  2 +-
 GUI/Views/IntensityDataWidgets/ColorMap.cpp   |  4 +-
 .../IntensityDataWidgets/ColorMapCanvas.cpp   |  2 +-
 .../IntensityDataWidgets/ColorMapUtils.cpp    |  2 +-
 .../IntensityDataCanvas.cpp                   |  4 +-
 .../IntensityDataFFTPresenter.cpp             |  4 +-
 .../IntensityDataWidget.cpp                   |  4 +-
 GUI/Views/IntensityDataWidgets/Plot1D.cpp     |  6 +-
 .../IntensityDataWidgets/PropertyRepeater.cpp |  2 +-
 .../JobWidgets/FitComparisonController.cpp    | 12 +--
 .../FitComparisonViewController.cpp           | 14 +--
 GUI/Views/JobWidgets/FitComparisonWidget.cpp  |  8 +-
 .../JobWidgets/FitComparisonWidget1D.cpp      | 10 +-
 GUI/Views/JobWidgets/FitFlowWidget.cpp        |  2 +-
 GUI/Views/JobWidgets/JobListModel.cpp         |  2 +-
 GUI/Views/JobWidgets/JobListView.cpp          |  4 +-
 GUI/Views/JobWidgets/JobListViewDelegate.cpp  |  2 +-
 .../JobWidgets/JobPropertiesTableModel.cpp    |  2 +-
 GUI/Views/JobWidgets/JobPropertiesWidget.cpp  |  2 +-
 GUI/Views/JobWidgets/JobResultsPresenter.cpp  |  4 +-
 GUI/Views/JobWidgets/JobSelectorWidget.cpp    |  2 +-
 GUI/Views/JobWidgets/JobView.cpp              |  2 +-
 GUI/Views/Loaders/AutomaticDataLoader1D.cpp   |  4 +-
 .../AutomaticDataLoader1DResultModel.cpp      |  4 +-
 GUI/Views/Loaders/QREDataLoader.cpp           |  6 +-
 GUI/Views/MaskWidgets/EllipseView.cpp         |  2 +-
 GUI/Views/MaskWidgets/IShape2DView.cpp        |  2 +-
 GUI/Views/MaskWidgets/LineViews.cpp           |  2 +-
 GUI/Views/MaskWidgets/MaskAllView.cpp         |  2 +-
 GUI/Views/MaskWidgets/MaskContainerView.cpp   |  4 +-
 GUI/Views/MaskWidgets/MaskDrawingContext.cpp  |  2 +-
 GUI/Views/MaskWidgets/MaskEditor.cpp          |  4 +-
 GUI/Views/MaskWidgets/MaskEditorActions.cpp   |  4 +-
 GUI/Views/MaskWidgets/MaskEditorCanvas.cpp    |  4 +-
 .../MaskWidgets/MaskEditorPropertyPanel.cpp   |  4 +-
 GUI/Views/MaskWidgets/MaskGraphicsProxy.cpp   |  2 +-
 GUI/Views/MaskWidgets/MaskGraphicsScene.cpp   | 10 +-
 .../MaskWidgets/MaskResultsPresenter.cpp      |  6 +-
 GUI/Views/MaskWidgets/MaskViewFactory.cpp     |  6 +-
 GUI/Views/MaskWidgets/PolygonPointView.cpp    |  2 +-
 GUI/Views/MaskWidgets/PolygonView.cpp         |  2 +-
 GUI/Views/MaskWidgets/RectangleView.cpp       |  2 +-
 .../MaskWidgets/RegionOfInterestView.cpp      |  2 +-
 .../MaterialEditor/MaterialEditorDialog.cpp   |  6 +-
 .../MaterialEditor/MaterialEditorModel.cpp    |  4 +-
 .../IntensityDataProjectionsWidget.cpp        |  6 +-
 .../ProjectionsWidgets/ProjectionsEditor.cpp  |  4 +-
 .../ProjectionsEditorActions.cpp              |  2 +-
 .../ProjectionsEditorCanvas.cpp               |  6 +-
 .../ProjectionsWidgets/ProjectionsPlot.cpp    |  8 +-
 .../ProjectionsWidgets/ProjectionsWidget.cpp  |  2 +-
 .../SaveProjectionsAssistant.cpp              |  6 +-
 .../PropertyEditor/ComponentFlatView.cpp      |  4 +-
 .../PropertyEditor/ComponentTreeActions.cpp   |  2 +-
 .../PropertyEditor/ComponentTreeView.cpp      |  2 +-
 GUI/Views/PropertyEditor/CustomEditors.cpp    |  2 +-
 .../PropertyEditor/PropertyEditorFactory.cpp  |  6 +-
 .../PropertyEditor/PropertyWidgetItem.cpp     |  4 +-
 .../PropertyEditor/SessionModelDelegate.cpp   |  2 +-
 .../PropertyEditor/TestComponentView.cpp      |  8 +-
 .../RealSpaceWidgets/RealSpaceBuilder.cpp     | 16 ++--
 .../RealSpaceBuilderUtils.cpp                 | 12 +--
 .../RealSpaceWidgets/RealSpaceCanvas.cpp      |  2 +-
 .../RealSpaceMesoCrystalUtils.cpp             |  4 +-
 GUI/Views/RealSpaceWidgets/TransformTo3D.cpp  |  8 +-
 GUI/Views/SampleDesigner/ConnectableView.cpp  |  2 +-
 GUI/Views/SampleDesigner/DesignerScene.cpp    | 16 ++--
 GUI/Views/SampleDesigner/ILayerView.cpp       |  2 +-
 GUI/Views/SampleDesigner/IView.cpp            |  2 +-
 GUI/Views/SampleDesigner/InterferenceForm.cpp |  4 +-
 GUI/Views/SampleDesigner/ItemTreeView.cpp     |  2 +-
 GUI/Views/SampleDesigner/LayerEditorUtils.cpp | 18 ++--
 GUI/Views/SampleDesigner/LayerForm.cpp        |  4 +-
 .../LayerOrientedSampleEditor.cpp             |  4 +-
 GUI/Views/SampleDesigner/LayerView.cpp        |  2 +-
 .../SampleDesigner/MaterialInplaceForm.cpp    |  6 +-
 GUI/Views/SampleDesigner/MesoCrystalForm.cpp  |  6 +-
 GUI/Views/SampleDesigner/MesoCrystalView.cpp  |  4 +-
 GUI/Views/SampleDesigner/MultiLayerForm.cpp   |  2 +-
 GUI/Views/SampleDesigner/MultiLayerView.cpp   |  2 +-
 .../ParticleCompositionForm.cpp               |  2 +-
 .../ParticleCompositionView.cpp               |  2 +-
 .../SampleDesigner/ParticleCoreShellForm.cpp  |  6 +-
 .../SampleDesigner/ParticleCoreShellView.cpp  |  2 +-
 GUI/Views/SampleDesigner/ParticleForm.cpp     |  4 +-
 .../SampleDesigner/ParticleLayoutForm.cpp     |  4 +-
 .../SampleDesigner/ParticleLayoutView.cpp     |  2 +-
 GUI/Views/SampleDesigner/ParticleView.cpp     |  6 +-
 .../SampleDesigner/SampleEditorCommands.cpp   |  4 +-
 .../SampleDesigner/SampleEditorController.cpp | 14 +--
 GUI/Views/SampleDesigner/SampleListView.cpp   |  2 +-
 .../SampleDesigner/SamplePropertyWidget.cpp   |  2 +-
 GUI/Views/SampleDesigner/SampleToolBox.cpp    | 10 +-
 GUI/Views/SampleDesigner/SampleTreeWidget.cpp |  2 +-
 .../SampleDesigner/SampleViewAligner.cpp      |  4 +-
 .../SampleDesigner/SampleViewFactory.cpp      | 18 ++--
 GUI/Views/SampleDesigner/ScriptPanel.cpp      |  2 +-
 .../SpecularDataCanvas.cpp                    |  2 +-
 .../SpecularDataImportWidget.cpp              |  8 +-
 .../SpecularDataWidget.cpp                    |  4 +-
 .../SpecularDataWidgets/SpecularPlot.cpp      |  4 +-
 .../SpecularPlotCanvas.cpp                    |  2 +-
 GUI/Views/Toplevel/ImportDataView.cpp         |  2 +-
 GUI/Views/Toplevel/SampleView.cpp             |  2 +-
 GUI/Views/Toplevel/SimulationView.cpp         | 10 +-
 GUI/Views/Toplevel/TestView.cpp               | 10 +-
 GUI/Widgets/Common/DesignerHelper.cpp         |  2 +-
 GUI/Widgets/Common/ItemSelectorWidget.cpp     |  4 +-
 GUI/Widgets/Common/ItemStackWidget.cpp        |  2 +-
 GUI/Widgets/Common/ModelTreeView.cpp          |  4 +-
 GUI/Widgets/Common/SessionItemController.cpp  |  2 +-
 Tests/Functional/GUI/Check.cpp                |  2 +-
 Tests/Unit/GUI/TestAxesItems.cpp              |  4 +-
 Tests/Unit/GUI/TestComponentProxyModel.cpp    | 16 ++--
 Tests/Unit/GUI/TestComponentUtils.cpp         | 10 +-
 Tests/Unit/GUI/TestDataItemViews.cpp          |  4 +-
 Tests/Unit/GUI/TestDataItems.cpp              |  6 +-
 Tests/Unit/GUI/TestDetectorItems.cpp          |  8 +-
 Tests/Unit/GUI/TestFTDistributionItems.cpp    |  2 +-
 Tests/Unit/GUI/TestFitParameterModel.cpp      |  4 +-
 Tests/Unit/GUI/TestFormFactorItems.cpp        |  2 +-
 .../GUI/TestGUICoreObjectCorrespondence.cpp   |  4 +-
 Tests/Unit/GUI/TestGroupItem.cpp              | 10 +-
 Tests/Unit/GUI/TestInstrumentModel.cpp        |  2 +-
 Tests/Unit/GUI/TestLayerItems.cpp             |  4 +-
 Tests/Unit/GUI/TestLayerRoughnessItems.cpp    |  2 +-
 Tests/Unit/GUI/TestLinkInstrument.cpp         | 10 +-
 Tests/Unit/GUI/TestMapperCases.cpp            | 14 +--
 Tests/Unit/GUI/TestMapperForItem.cpp          | 10 +-
 Tests/Unit/GUI/TestMaterialModel.cpp          |  4 +-
 Tests/Unit/GUI/TestModelUtils.cpp             |  8 +-
 Tests/Unit/GUI/TestMultiLayerItem.cpp         |  6 +-
 Tests/Unit/GUI/TestOutputDataIOService.cpp    | 12 +--
 Tests/Unit/GUI/TestParaCrystalItems.cpp       | 12 +--
 Tests/Unit/GUI/TestParticleCoreShell.cpp      | 10 +-
 Tests/Unit/GUI/TestParticleItem.cpp           |  8 +-
 Tests/Unit/GUI/TestParticleLayoutItem.h       |  8 +-
 Tests/Unit/GUI/TestProjectDocument.cpp        |  8 +-
 Tests/Unit/GUI/TestProjectUtils.cpp           |  2 +-
 Tests/Unit/GUI/TestPropertyRepeater.cpp       |  6 +-
 Tests/Unit/GUI/TestProxyModelStrategy.cpp     | 12 +--
 Tests/Unit/GUI/TestRealDataModel.cpp          |  4 +-
 Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp  |  6 +-
 Tests/Unit/GUI/TestSaveService.cpp            |  8 +-
 Tests/Unit/GUI/TestSavingSpecularData.cpp     | 18 ++--
 Tests/Unit/GUI/TestSessionItem.cpp            |  2 +-
 Tests/Unit/GUI/TestSessionItemController.cpp  |  4 +-
 .../GUI/TestSessionItemControllerHelper.cpp   |  2 +-
 Tests/Unit/GUI/TestSessionItemData.cpp        |  4 +-
 Tests/Unit/GUI/TestSessionItemTags.cpp        |  6 +-
 Tests/Unit/GUI/TestSessionItemUtils.cpp       |  8 +-
 Tests/Unit/GUI/TestSessionModel.cpp           | 16 ++--
 Tests/Unit/GUI/TestSessionXML.cpp             | 12 +--
 Tests/Unit/GUI/TestVectorItem.cpp             |  2 +-
 Tests/Unit/GUI/Utils.cpp                      |  4 +-
 Tests/Unit/GUI/Utils.h                        |  4 +-
 390 files changed, 1371 insertions(+), 1371 deletions(-)
 rename GUI/{Items => Models/Data}/AxesItems.cpp (98%)
 rename GUI/{Items => Models/Data}/AxesItems.h (91%)
 rename GUI/{Items => Models/Data}/Data1DViewItem.cpp (97%)
 rename GUI/{Items => Models/Data}/Data1DViewItem.h (92%)
 rename GUI/{Items => Models/Data}/DataItem.cpp (97%)
 rename GUI/{Items => Models/Data}/DataItem.h (92%)
 rename GUI/{Items => Models/Data}/DataItemUtils.cpp (84%)
 rename GUI/{Items => Models/Data}/DataItemUtils.h (84%)
 rename GUI/{Items => Models/Data}/IntensityDataItem.cpp (97%)
 rename GUI/{Items => Models/Data}/IntensityDataItem.h (94%)
 rename GUI/{Items => Models/Data}/PointwiseAxisItem.cpp (96%)
 rename GUI/{Items => Models/Data}/PointwiseAxisItem.h (88%)
 rename GUI/{Items => Models/Data}/RealDataItem.cpp (96%)
 rename GUI/{Items => Models/Data}/RealDataItem.h (94%)
 rename GUI/{Items => Models/Data}/SpecularDataItem.cpp (97%)
 rename GUI/{Items => Models/Data}/SpecularDataItem.h (91%)
 rename GUI/{Items => Models/Fit}/FitParameterItems.cpp (97%)
 rename GUI/{Items => Models/Fit}/FitParameterItems.h (92%)
 rename GUI/{Items => Models/Fit}/FitSuiteItem.cpp (92%)
 rename GUI/{Items => Models/Fit}/FitSuiteItem.h (87%)
 rename GUI/{Items => Models/Fit}/MinimizerItem.cpp (98%)
 rename GUI/{Items => Models/Fit}/MinimizerItem.h (94%)
 rename GUI/{Items => Models/Fit}/MinimizerItemCatalog.cpp (93%)
 rename GUI/{Items => Models/Fit}/MinimizerItemCatalog.h (82%)
 rename GUI/{Items => Models/Group}/GroupItem.cpp (96%)
 rename GUI/{Items => Models/Group}/GroupItem.h (83%)
 rename GUI/{Items => Models/Group}/GroupItemController.cpp (94%)
 rename GUI/{Items => Models/Group}/GroupItemController.h (86%)
 rename GUI/{Items => Models/Instrument}/BackgroundItems.cpp (95%)
 rename GUI/{Items => Models/Instrument}/BackgroundItems.h (84%)
 rename GUI/{Items => Models/Instrument}/BeamAngleItems.cpp (95%)
 rename GUI/{Items => Models/Instrument}/BeamAngleItems.h (80%)
 rename GUI/{Items => Models/Instrument}/BeamDistributionItem.cpp (97%)
 rename GUI/{Items => Models/Instrument}/BeamDistributionItem.h (84%)
 rename GUI/{Items => Models/Instrument}/BeamItems.cpp (95%)
 rename GUI/{Items => Models/Instrument}/BeamItems.h (90%)
 rename GUI/{Items => Models/Instrument}/BeamWavelengthItem.cpp (94%)
 rename GUI/{Items => Models/Instrument}/BeamWavelengthItem.h (78%)
 rename GUI/{Items => Models/Instrument}/DetectorItems.cpp (94%)
 rename GUI/{Items => Models/Instrument}/DetectorItems.h (90%)
 rename GUI/{Items => Models/Instrument}/FootprintItems.cpp (96%)
 rename GUI/{Items => Models/Instrument}/FootprintItems.h (87%)
 rename GUI/{Items => Models/Instrument}/InstrumentItems.cpp (96%)
 rename GUI/{Items => Models/Instrument}/InstrumentItems.h (95%)
 rename GUI/{Items => Models/Instrument}/MaskItems.cpp (99%)
 rename GUI/{Items => Models/Instrument}/MaskItems.h (95%)
 rename GUI/{Items => Models/Instrument}/RectangularDetectorItem.cpp (98%)
 rename GUI/{Items => Models/Instrument}/RectangularDetectorItem.h (89%)
 rename GUI/{Items => Models/Instrument}/SpecularBeamInclinationItem.cpp (95%)
 rename GUI/{Items => Models/Instrument}/SpecularBeamInclinationItem.h (81%)
 rename GUI/{Items => Models/Instrument}/SphericalDetectorItem.cpp (94%)
 rename GUI/{Items => Models/Instrument}/SphericalDetectorItem.h (81%)
 rename GUI/{Items => Models/Job}/JobItem.cpp (94%)
 rename GUI/{Items => Models/Job}/JobItem.h (95%)
 rename GUI/{Items => Models/Job}/JobItemUtils.cpp (96%)
 rename GUI/{Items => Models/Job}/JobItemUtils.h (90%)
 rename GUI/{Items => Models/Job}/JobModelFunctions.cpp (91%)
 rename GUI/{Items => Models/Job}/JobModelFunctions.h (89%)
 rename GUI/{Items => Models/Material}/MaterialDataItems.cpp (94%)
 rename GUI/{Items => Models/Material}/MaterialDataItems.h (82%)
 rename GUI/{Items => Models/Material}/MaterialItem.cpp (97%)
 rename GUI/{Items => Models/Material}/MaterialItem.h (89%)
 rename GUI/{Items => Models/Material}/MaterialItemContainer.cpp (88%)
 rename GUI/{Items => Models/Material}/MaterialItemContainer.h (79%)
 rename GUI/{Items => Models/Material}/MaterialItemUtils.cpp (90%)
 rename GUI/{Items => Models/Material}/MaterialItemUtils.h (83%)
 rename GUI/{Items => Models/Parameter}/ParameterTreeItems.cpp (91%)
 rename GUI/{Items => Models/Parameter}/ParameterTreeItems.h (86%)
 rename GUI/{Items => Models/Sample}/FTDecayFunctionItems.cpp (98%)
 rename GUI/{Items => Models/Sample}/FTDecayFunctionItems.h (93%)
 rename GUI/{Items => Models/Sample}/FTDistributionItems.cpp (98%)
 rename GUI/{Items => Models/Sample}/FTDistributionItems.h (94%)
 rename GUI/{Items => Models/Sample}/FormFactorItems.cpp (99%)
 rename GUI/{Items => Models/Sample}/FormFactorItems.h (98%)
 rename GUI/{Items => Models/Sample}/InterferenceItems.cpp (98%)
 rename GUI/{Items => Models/Sample}/InterferenceItems.h (96%)
 rename GUI/{Items => Models/Sample}/ItemWithParticles.cpp (93%)
 rename GUI/{Items => Models/Sample}/ItemWithParticles.h (88%)
 rename GUI/{Items => Models/Sample}/Lattice2DItems.cpp (97%)
 rename GUI/{Items => Models/Sample}/Lattice2DItems.h (89%)
 rename GUI/{Items => Models/Sample}/LayerItem.cpp (93%)
 rename GUI/{Items => Models/Sample}/LayerItem.h (91%)
 rename GUI/{Items => Models/Sample}/LayerRoughnessItems.cpp (95%)
 rename GUI/{Items => Models/Sample}/LayerRoughnessItems.h (81%)
 rename GUI/{Items => Models/Sample}/MesoCrystalItem.cpp (94%)
 rename GUI/{Items => Models/Sample}/MesoCrystalItem.h (88%)
 rename GUI/{Items => Models/Sample}/MultiLayerItem.cpp (95%)
 rename GUI/{Items => Models/Sample}/MultiLayerItem.h (88%)
 rename GUI/{Items => Models/Sample}/ParticleCompositionItem.cpp (90%)
 rename GUI/{Items => Models/Sample}/ParticleCompositionItem.h (78%)
 rename GUI/{Items => Models/Sample}/ParticleCoreShellItem.cpp (91%)
 rename GUI/{Items => Models/Sample}/ParticleCoreShellItem.h (81%)
 rename GUI/{Items => Models/Sample}/ParticleItem.cpp (86%)
 rename GUI/{Items => Models/Sample}/ParticleItem.h (83%)
 rename GUI/{Items => Models/Sample}/ParticleLayoutItem.cpp (93%)
 rename GUI/{Items => Models/Sample}/ParticleLayoutItem.h (85%)
 rename GUI/{Items => Models/Sample}/ResolutionFunctionItems.cpp (95%)
 rename GUI/{Items => Models/Sample}/ResolutionFunctionItems.h (85%)
 rename GUI/{Items => Models/Session}/SessionDecorationModel.cpp (93%)
 rename GUI/{Items => Models/Session}/SessionDecorationModel.h (83%)
 rename GUI/{Items => Models/Session}/SessionFlags.h (87%)
 rename GUI/{Items => Models/Session}/SessionGraphicsItem.cpp (92%)
 rename GUI/{Items => Models/Session}/SessionGraphicsItem.h (78%)
 rename GUI/{Items => Models/Session}/SessionItem.cpp (97%)
 rename GUI/{Items => Models/Session}/SessionItem.h (98%)
 rename GUI/{Items => Models/Session}/SessionItemData.cpp (92%)
 rename GUI/{Items => Models/Session}/SessionItemData.h (82%)
 rename GUI/{Items => Models/Session}/SessionItemTags.cpp (97%)
 rename GUI/{Items => Models/Session}/SessionItemTags.h (88%)
 rename GUI/{Items => Models/Session}/SessionItemUtils.cpp (91%)
 rename GUI/{Items => Models/Session}/SessionItemUtils.h (89%)
 rename GUI/{Items => Models/Session}/SessionModel.cpp (98%)
 rename GUI/{Items => Models/Session}/SessionModel.h (95%)
 rename GUI/{Items => Models/Session}/SessionXML.cpp (98%)
 rename GUI/{Items => Models/Session}/SessionXML.h (92%)
 rename GUI/{Items => Models/Trafo}/ProjectionItems.cpp (85%)
 rename GUI/{Items => Models/Trafo}/ProjectionItems.h (76%)
 rename GUI/{Items => Models/Trafo}/RotationItems.cpp (97%)
 rename GUI/{Items => Models/Trafo}/RotationItems.h (89%)
 rename GUI/{Items => Models/Trafo}/TransformationItem.cpp (89%)
 rename GUI/{Items => Models/Trafo}/TransformationItem.h (81%)
 rename GUI/{Items => Models/Types}/VectorItem.cpp (95%)
 rename GUI/{Items => Models/Types}/VectorItem.h (84%)
 rename GUI/{Items => Models/Varia}/DistributionItems.cpp (99%)
 rename GUI/{Items => Models/Varia}/DistributionItems.h (96%)
 rename GUI/{Items => Models/Varia}/ItemCatalog.cpp (88%)
 rename GUI/{Items => Models/Varia}/ItemCatalog.h (90%)
 rename GUI/{Items => Models/Varia}/ItemFactory.cpp (84%)
 rename GUI/{Items => Models/Varia}/ItemFactory.h (86%)
 rename GUI/{Items => Models/Varia}/ItemFileNameUtils.cpp (93%)
 rename GUI/{Items => Models/Varia}/ItemFileNameUtils.h (84%)
 rename GUI/{Items => Models/Varia}/ItemWithDistribution.h (80%)
 rename GUI/{Items => Models/Varia}/ItemWithMaterial.cpp (88%)
 rename GUI/{Items => Models/Varia}/ItemWithMaterial.h (83%)
 rename GUI/{Items => Models/Varia}/ModelPath.cpp (95%)
 rename GUI/{Items => Models/Varia}/ModelPath.h (86%)
 rename GUI/{Items => Models/Varia}/PropertyItem.cpp (86%)
 rename GUI/{Items => Models/Varia}/PropertyItem.h (74%)
 rename GUI/{Items => Models/Varia}/RealLimitsItems.cpp (97%)
 rename GUI/{Items => Models/Varia}/RealLimitsItems.h (90%)
 rename GUI/{Items => Models/Varia}/SimulationOptionsItem.cpp (97%)
 rename GUI/{Items => Models/Varia}/SimulationOptionsItem.h (88%)

diff --git a/GUI/Mapper/ComponentProxyModel.cpp b/GUI/Mapper/ComponentProxyModel.cpp
index 74baee7e744..e4858007c76 100644
--- a/GUI/Mapper/ComponentProxyModel.cpp
+++ b/GUI/Mapper/ComponentProxyModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Mapper/ComponentProxyModel.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Mapper/ComponentProxyStrategy.h"
 #include <QSet>
 #include <functional>
diff --git a/GUI/Mapper/ComponentProxyStrategy.cpp b/GUI/Mapper/ComponentProxyStrategy.cpp
index a9b04fb0a6b..b5f79b7c45c 100644
--- a/GUI/Mapper/ComponentProxyStrategy.cpp
+++ b/GUI/Mapper/ComponentProxyStrategy.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Mapper/ComponentProxyStrategy.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Mapper/ComponentProxyModel.h"
 #include "GUI/Mapper/ComponentUtils.h"
 
diff --git a/GUI/Mapper/ComponentUtils.cpp b/GUI/Mapper/ComponentUtils.cpp
index 7d294296903..d312f082854 100644
--- a/GUI/Mapper/ComponentUtils.cpp
+++ b/GUI/Mapper/ComponentUtils.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Mapper/ComponentUtils.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/MaterialDataItems.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Material/MaterialDataItems.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 
 namespace {
 QList<const SessionItem*> groupItems(const GroupItem& item);
diff --git a/GUI/Mapper/ModelMapper.cpp b/GUI/Mapper/ModelMapper.cpp
index daa18477eb1..99db8db3e3e 100644
--- a/GUI/Mapper/ModelMapper.cpp
+++ b/GUI/Mapper/ModelMapper.cpp
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 
 ModelMapper::ModelMapper(QObject* parent)
     : QObject(parent), m_active(true), m_model(nullptr), m_item(nullptr)
diff --git a/GUI/Mapper/ModelUtils.cpp b/GUI/Mapper/ModelUtils.cpp
index 824416b29f1..7509cfccd90 100644
--- a/GUI/Mapper/ModelUtils.cpp
+++ b/GUI/Mapper/ModelUtils.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Mapper/ModelUtils.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include <QAbstractItemModel>
 #include <QModelIndex>
 
diff --git a/GUI/Mapper/ProxyModelStrategy.cpp b/GUI/Mapper/ProxyModelStrategy.cpp
index 6f1b43d2388..db9aba60097 100644
--- a/GUI/Mapper/ProxyModelStrategy.cpp
+++ b/GUI/Mapper/ProxyModelStrategy.cpp
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Mapper/ComponentProxyModel.h"
 #include "GUI/Mapper/ModelUtils.h"
 
diff --git a/GUI/Models/Data/ApplicationModels.cpp b/GUI/Models/Data/ApplicationModels.cpp
index 73a18a4f750..d9e969353a9 100644
--- a/GUI/Models/Data/ApplicationModels.cpp
+++ b/GUI/Models/Data/ApplicationModels.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Data/ApplicationModels.h"
-#include "GUI/Items/SimulationOptionsItem.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
 #include "GUI/Models/Data/DocumentModel.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
diff --git a/GUI/Items/AxesItems.cpp b/GUI/Models/Data/AxesItems.cpp
similarity index 98%
rename from GUI/Items/AxesItems.cpp
rename to GUI/Models/Data/AxesItems.cpp
index 4073bf7e7e5..d8d33428cc3 100644
--- a/GUI/Items/AxesItems.cpp
+++ b/GUI/Models/Data/AxesItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/AxesItems.cpp
+//! @file      GUI/Models/Data/AxesItems.cpp
 //! @brief     Implements various axis items
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/AxesItems.h"
+#include "GUI/Models/Data/AxesItems.h"
 #include "Base/Axis/FixedBinAxis.h"
 
 const int max_detector_pixels = 65536;
diff --git a/GUI/Items/AxesItems.h b/GUI/Models/Data/AxesItems.h
similarity index 91%
rename from GUI/Items/AxesItems.h
rename to GUI/Models/Data/AxesItems.h
index c173cfa10b8..b54f4de49c7 100644
--- a/GUI/Items/AxesItems.h
+++ b/GUI/Models/Data/AxesItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/AxesItems.h
+//! @file      GUI/Models/Data/AxesItems.h
 //! @brief     Defines various axis items
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_AXESITEMS_H
-#define BORNAGAIN_GUI_ITEMS_AXESITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_AXESITEMS_H
+#define BORNAGAIN_GUI_MODELS_DATA_AXESITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include <memory>
 
 class IAxis;
@@ -89,4 +89,4 @@ private:
     void setMinMaxEditor(const QString& editorType);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_AXESITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_AXESITEMS_H
diff --git a/GUI/Items/Data1DViewItem.cpp b/GUI/Models/Data/Data1DViewItem.cpp
similarity index 97%
rename from GUI/Items/Data1DViewItem.cpp
rename to GUI/Models/Data/Data1DViewItem.cpp
index 97a3cf19d26..d71eb4c5b68 100644
--- a/GUI/Items/Data1DViewItem.cpp
+++ b/GUI/Models/Data/Data1DViewItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/Data1DViewItem.cpp
+//! @file      GUI/Models/Data/Data1DViewItem.cpp
 //! @brief     Implements class Data1DViewItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Models/Data/DataProperties.h"
 #include "GUI/Models/Data/DataPropertyContainer.h"
 #include "GUI/Models/Data/DataViewUtils.h"
diff --git a/GUI/Items/Data1DViewItem.h b/GUI/Models/Data/Data1DViewItem.h
similarity index 92%
rename from GUI/Items/Data1DViewItem.h
rename to GUI/Models/Data/Data1DViewItem.h
index 2dbde43539e..8d96fdddd06 100644
--- a/GUI/Items/Data1DViewItem.h
+++ b/GUI/Models/Data/Data1DViewItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/Data1DViewItem.h
+//! @file      GUI/Models/Data/Data1DViewItem.h
 //! @brief     Defines class Data1DViewItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_DATA1DVIEWITEM_H
-#define BORNAGAIN_GUI_ITEMS_DATA1DVIEWITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_DATA1DVIEWITEM_H
+#define BORNAGAIN_GUI_MODELS_DATA_DATA1DVIEWITEM_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class AmplitudeAxisItem;
 class BasicAxisItem;
@@ -105,4 +105,4 @@ private:
     JobItem* m_job_item;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_DATA1DVIEWITEM_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_DATA1DVIEWITEM_H
diff --git a/GUI/Items/DataItem.cpp b/GUI/Models/Data/DataItem.cpp
similarity index 97%
rename from GUI/Items/DataItem.cpp
rename to GUI/Models/Data/DataItem.cpp
index 8a403cbf75b..4a42d37e9f7 100644
--- a/GUI/Items/DataItem.cpp
+++ b/GUI/Models/Data/DataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DataItem.cpp
+//! @file      GUI/Models/Data/DataItem.cpp
 //! @brief     Implements class IntensityDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/DataItem.h"
+#include "GUI/Models/Data/DataItem.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/DataItem.h b/GUI/Models/Data/DataItem.h
similarity index 92%
rename from GUI/Items/DataItem.h
rename to GUI/Models/Data/DataItem.h
index 533971cdc74..69c2523d75e 100644
--- a/GUI/Items/DataItem.h
+++ b/GUI/Models/Data/DataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DataItem.h
+//! @file      GUI/Models/Data/DataItem.h
 //! @brief     Declares class DataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_DATAITEM_H
-#define BORNAGAIN_GUI_ITEMS_DATAITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_DATAITEM_H
+#define BORNAGAIN_GUI_MODELS_DATA_DATAITEM_H
 
 #include "Device/Data/OutputData.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/utils/SaveLoadInterface.h"
 #include <QDateTime>
 #include <mutex>
@@ -79,4 +79,4 @@ protected:
     std::mutex m_update_data_mutex;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_DATAITEM_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_DATAITEM_H
diff --git a/GUI/Items/DataItemUtils.cpp b/GUI/Models/Data/DataItemUtils.cpp
similarity index 84%
rename from GUI/Items/DataItemUtils.cpp
rename to GUI/Models/Data/DataItemUtils.cpp
index 5d3a4fac815..054be035de3 100644
--- a/GUI/Items/DataItemUtils.cpp
+++ b/GUI/Models/Data/DataItemUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DataItemUtils.cpp
+//! @file      GUI/Models/Data/DataItemUtils.cpp
 //! @brief     Implements namespace DataItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/DataItemUtils.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/DataItemUtils.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 
 namespace {
 template <class DataItemType> DataItemType* dataItem(SessionItem* parent)
diff --git a/GUI/Items/DataItemUtils.h b/GUI/Models/Data/DataItemUtils.h
similarity index 84%
rename from GUI/Items/DataItemUtils.h
rename to GUI/Models/Data/DataItemUtils.h
index b0892858c9f..f8c2d9c98a9 100644
--- a/GUI/Items/DataItemUtils.h
+++ b/GUI/Models/Data/DataItemUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DataItemUtils.h
+//! @file      GUI/Models/Data/DataItemUtils.h
 //! @brief     Defines functions in  namespace GUI::Model::DataItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_DATAITEMUTILS_H
-#define BORNAGAIN_GUI_ITEMS_DATAITEMUTILS_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_DATAITEMUTILS_H
+#define BORNAGAIN_GUI_MODELS_DATA_DATAITEMUTILS_H
 
 class IntensityDataItem;
 class SessionItem;
@@ -31,4 +31,4 @@ SpecularDataItem* specularDataItem(SessionItem* parent);
 
 } // namespace GUI::Model::DataItemUtils
 
-#endif // BORNAGAIN_GUI_ITEMS_DATAITEMUTILS_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_DATAITEMUTILS_H
diff --git a/GUI/Models/Data/DataProperties.cpp b/GUI/Models/Data/DataProperties.cpp
index 73882414b0a..ba9268775d5 100644
--- a/GUI/Models/Data/DataProperties.cpp
+++ b/GUI/Models/Data/DataProperties.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Data/DataProperties.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/utils/Error.h"
 #include <QColor>
diff --git a/GUI/Models/Data/DataProperties.h b/GUI/Models/Data/DataProperties.h
index 6d2f9727b67..e7cfee555cc 100644
--- a/GUI/Models/Data/DataProperties.h
+++ b/GUI/Models/Data/DataProperties.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_DATA_DATAPROPERTIES_H
 #define BORNAGAIN_GUI_MODELS_DATA_DATAPROPERTIES_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class DataItem;
 
diff --git a/GUI/Models/Data/DataPropertyContainer.cpp b/GUI/Models/Data/DataPropertyContainer.cpp
index 1823914fbfd..e80d5c2914c 100644
--- a/GUI/Models/Data/DataPropertyContainer.cpp
+++ b/GUI/Models/Data/DataPropertyContainer.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Data/DataPropertyContainer.h"
-#include "GUI/Items/DataItem.h"
+#include "GUI/Models/Data/DataItem.h"
 #include "GUI/Models/Data/DataProperties.h"
 #include "GUI/utils/Error.h"
 
diff --git a/GUI/Models/Data/DataPropertyContainer.h b/GUI/Models/Data/DataPropertyContainer.h
index 27be65d563a..a7c9fa9bc82 100644
--- a/GUI/Models/Data/DataPropertyContainer.h
+++ b/GUI/Models/Data/DataPropertyContainer.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_DATA_DATAPROPERTYCONTAINER_H
 #define BORNAGAIN_GUI_MODELS_DATA_DATAPROPERTYCONTAINER_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class DataItem;
 class DataProperties;
diff --git a/GUI/Models/Data/DataViewUtils.cpp b/GUI/Models/Data/DataViewUtils.cpp
index 5de3a31239a..39f79ead07a 100644
--- a/GUI/Models/Data/DataViewUtils.cpp
+++ b/GUI/Models/Data/DataViewUtils.cpp
@@ -14,11 +14,11 @@
 
 #include "GUI/Models/Data/DataViewUtils.h"
 #include "Device/Coord/ICoordSystem.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobItemUtils.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobItemUtils.h"
 
 namespace {
 
diff --git a/GUI/Models/Data/DocumentModel.cpp b/GUI/Models/Data/DocumentModel.cpp
index 5d3a0a0d7fc..dbb153f52bc 100644
--- a/GUI/Models/Data/DocumentModel.cpp
+++ b/GUI/Models/Data/DocumentModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Data/DocumentModel.h"
-#include "GUI/Items/SimulationOptionsItem.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
 
 DocumentModel::DocumentModel(QObject* parent)
     : SessionModel(GUI::Session::XML::DocumentModelTag, parent)
diff --git a/GUI/Models/Data/DocumentModel.h b/GUI/Models/Data/DocumentModel.h
index 88d03099ed2..8962747ea84 100644
--- a/GUI/Models/Data/DocumentModel.h
+++ b/GUI/Models/Data/DocumentModel.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_DATA_DOCUMENTMODEL_H
 #define BORNAGAIN_GUI_MODELS_DATA_DOCUMENTMODEL_H
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 
 class SimulationOptionsItem;
 
diff --git a/GUI/Models/Data/GUIObjectBuilder.cpp b/GUI/Models/Data/GUIObjectBuilder.cpp
index 6cd91ae1b04..7d7776c5a0d 100644
--- a/GUI/Models/Data/GUIObjectBuilder.cpp
+++ b/GUI/Models/Data/GUIObjectBuilder.cpp
@@ -16,8 +16,8 @@
 #include "Base/Const/Units.h"
 #include "Base/Utils/Assert.h"
 #include "Core/Simulation/includeSimulations.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/SimulationOptionsItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
 #include "GUI/Models/Data/DocumentModel.h"
 #include "GUI/Models/Domain/TransformFromDomain.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
diff --git a/GUI/Models/Data/ImportDataInfo.cpp b/GUI/Models/Data/ImportDataInfo.cpp
index 3c191c14794..c4d6765d934 100644
--- a/GUI/Models/Data/ImportDataInfo.cpp
+++ b/GUI/Models/Data/ImportDataInfo.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Models/Data/ImportDataInfo.h"
 #include "Device/Coord/AxisNames.h"
 #include "Device/Data/OutputData.h"
-#include "GUI/Items/JobItemUtils.h"
+#include "GUI/Models/Job/JobItemUtils.h"
 #include "GUI/utils/Error.h"
 #include "GUI/utils/OutputDataUtils.h"
 
diff --git a/GUI/Items/IntensityDataItem.cpp b/GUI/Models/Data/IntensityDataItem.cpp
similarity index 97%
rename from GUI/Items/IntensityDataItem.cpp
rename to GUI/Models/Data/IntensityDataItem.cpp
index 513e1f77bec..7fdced176c3 100644
--- a/GUI/Items/IntensityDataItem.cpp
+++ b/GUI/Models/Data/IntensityDataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/IntensityDataItem.cpp
+//! @file      GUI/Models/Data/IntensityDataItem.cpp
 //! @brief     Implements class IntensityDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Data/ImportDataInfo.h"
 #include "GUI/Models/Data/MaskUnitsConverter.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/IntensityDataItem.h b/GUI/Models/Data/IntensityDataItem.h
similarity index 94%
rename from GUI/Items/IntensityDataItem.h
rename to GUI/Models/Data/IntensityDataItem.h
index 9ac029309ca..43cd4504e5d 100644
--- a/GUI/Items/IntensityDataItem.h
+++ b/GUI/Models/Data/IntensityDataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/IntensityDataItem.h
+//! @file      GUI/Models/Data/IntensityDataItem.h
 //! @brief     Defines class IntensityDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_INTENSITYDATAITEM_H
-#define BORNAGAIN_GUI_ITEMS_INTENSITYDATAITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_INTENSITYDATAITEM_H
+#define BORNAGAIN_GUI_MODELS_DATA_INTENSITYDATAITEM_H
 
-#include "GUI/Items/DataItem.h"
+#include "GUI/Models/Data/DataItem.h"
 
 class BasicAxisItem;
 class AmplitudeAxisItem;
@@ -135,4 +135,4 @@ private:
     void updateAxesLabels();
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_INTENSITYDATAITEM_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_INTENSITYDATAITEM_H
diff --git a/GUI/Models/Data/MaskUnitsConverter.cpp b/GUI/Models/Data/MaskUnitsConverter.cpp
index 6c1c4cbdd6a..58e5915f27f 100644
--- a/GUI/Models/Data/MaskUnitsConverter.cpp
+++ b/GUI/Models/Data/MaskUnitsConverter.cpp
@@ -14,9 +14,9 @@
 
 #include "GUI/Models/Data/MaskUnitsConverter.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
 
 #include <boost/polymorphic_cast.hpp>
 using boost::polymorphic_downcast;
diff --git a/GUI/Items/PointwiseAxisItem.cpp b/GUI/Models/Data/PointwiseAxisItem.cpp
similarity index 96%
rename from GUI/Items/PointwiseAxisItem.cpp
rename to GUI/Models/Data/PointwiseAxisItem.cpp
index 6e9b263486a..c64ac0c870e 100644
--- a/GUI/Items/PointwiseAxisItem.cpp
+++ b/GUI/Models/Data/PointwiseAxisItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/PointwiseAxisItem.cpp
+//! @file      GUI/Models/Data/PointwiseAxisItem.cpp
 //! @brief     Implements pointwise axis item
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/PointwiseAxisItem.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
 #include "Base/Axis/PointwiseAxis.h"
 #include "Device/Coord/ICoordSystem.h"
 #include "Device/Data/OutputData.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 
 namespace {
 
diff --git a/GUI/Items/PointwiseAxisItem.h b/GUI/Models/Data/PointwiseAxisItem.h
similarity index 88%
rename from GUI/Items/PointwiseAxisItem.h
rename to GUI/Models/Data/PointwiseAxisItem.h
index 94ca4d8f6ac..f12da579a1c 100644
--- a/GUI/Items/PointwiseAxisItem.h
+++ b/GUI/Models/Data/PointwiseAxisItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/PointwiseAxisItem.h
+//! @file      GUI/Models/Data/PointwiseAxisItem.h
 //! @brief     Defines pointwise axis item
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_POINTWISEAXISITEM_H
-#define BORNAGAIN_GUI_ITEMS_POINTWISEAXISITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_POINTWISEAXISITEM_H
+#define BORNAGAIN_GUI_MODELS_DATA_POINTWISEAXISITEM_H
 
-#include "GUI/Items/AxesItems.h"
+#include "GUI/Models/Data/AxesItems.h"
 #include "GUI/utils/SaveLoadInterface.h"
 
 class PointwiseAxis;
@@ -63,4 +63,4 @@ private:
     QDateTime m_last_modified;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_POINTWISEAXISITEM_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_POINTWISEAXISITEM_H
diff --git a/GUI/Items/RealDataItem.cpp b/GUI/Models/Data/RealDataItem.cpp
similarity index 96%
rename from GUI/Items/RealDataItem.cpp
rename to GUI/Models/Data/RealDataItem.cpp
index 3920b5e304a..b0550d5548b 100644
--- a/GUI/Items/RealDataItem.cpp
+++ b/GUI/Models/Data/RealDataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RealDataItem.cpp
+//! @file      GUI/Models/Data/RealDataItem.cpp
 //! @brief     Implements class RealDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,17 +12,17 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/ItemFileNameUtils.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/JobModelFunctions.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Varia/ItemFileNameUtils.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Job/JobModelFunctions.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Models/Data/AbstractDataLoader1D.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Data/DataLoaders1D.h"
diff --git a/GUI/Items/RealDataItem.h b/GUI/Models/Data/RealDataItem.h
similarity index 94%
rename from GUI/Items/RealDataItem.h
rename to GUI/Models/Data/RealDataItem.h
index 0cf5b721c9c..bf377713a2a 100644
--- a/GUI/Items/RealDataItem.h
+++ b/GUI/Models/Data/RealDataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RealDataItem.h
+//! @file      GUI/Models/Data/RealDataItem.h
 //! @brief     Defines class RealDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_REALDATAITEM_H
-#define BORNAGAIN_GUI_ITEMS_REALDATAITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_REALDATAITEM_H
+#define BORNAGAIN_GUI_MODELS_DATA_REALDATAITEM_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Models/Data/AbstractDataLoader.h"
 #include <QPointer>
 
@@ -127,4 +127,4 @@ private:
     std::unique_ptr<AbstractDataLoader> m_dataLoader;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_REALDATAITEM_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_REALDATAITEM_H
diff --git a/GUI/Models/Data/RealDataModel.cpp b/GUI/Models/Data/RealDataModel.cpp
index e4f3e4244b0..ad722fcd94d 100644
--- a/GUI/Models/Data/RealDataModel.cpp
+++ b/GUI/Models/Data/RealDataModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Data/RealDataModel.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 
 RealDataModel::RealDataModel(QObject* parent)
     : SessionModel(GUI::Session::XML::RealDataModelTag, parent)
diff --git a/GUI/Models/Data/RealDataModel.h b/GUI/Models/Data/RealDataModel.h
index b8a07d0260f..f20bf521911 100644
--- a/GUI/Models/Data/RealDataModel.h
+++ b/GUI/Models/Data/RealDataModel.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_DATA_REALDATAMODEL_H
 #define BORNAGAIN_GUI_MODELS_DATA_REALDATAMODEL_H
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 
 class RealDataItem;
 
diff --git a/GUI/Items/SpecularDataItem.cpp b/GUI/Models/Data/SpecularDataItem.cpp
similarity index 97%
rename from GUI/Items/SpecularDataItem.cpp
rename to GUI/Models/Data/SpecularDataItem.cpp
index 300b2e395af..407cea5ce56 100644
--- a/GUI/Items/SpecularDataItem.cpp
+++ b/GUI/Models/Data/SpecularDataItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SpecularDataItem.cpp
+//! @file      GUI/Models/Data/SpecularDataItem.cpp
 //! @brief     Implements class SpecularDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SpecularDataItem.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/JobItemUtils.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Job/JobItemUtils.h"
 #include "GUI/Models/Data/ImportDataInfo.h"
 #include "GUI/utils/Error.h"
 
diff --git a/GUI/Items/SpecularDataItem.h b/GUI/Models/Data/SpecularDataItem.h
similarity index 91%
rename from GUI/Items/SpecularDataItem.h
rename to GUI/Models/Data/SpecularDataItem.h
index a988f8502a4..a0d0033410d 100644
--- a/GUI/Items/SpecularDataItem.h
+++ b/GUI/Models/Data/SpecularDataItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SpecularDataItem.h
+//! @file      GUI/Models/Data/SpecularDataItem.h
 //! @brief     Defines class SpecularDataItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SPECULARDATAITEM_H
-#define BORNAGAIN_GUI_ITEMS_SPECULARDATAITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_DATA_SPECULARDATAITEM_H
+#define BORNAGAIN_GUI_MODELS_DATA_SPECULARDATAITEM_H
 
-#include "GUI/Items/DataItem.h"
+#include "GUI/Models/Data/DataItem.h"
 
 class AmplitudeAxisItem;
 class BasicAxisItem;
@@ -89,4 +89,4 @@ private:
     void updateAxesZoomLevel();
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SPECULARDATAITEM_H
+#endif // BORNAGAIN_GUI_MODELS_DATA_SPECULARDATAITEM_H
diff --git a/GUI/Models/Domain/DomainObjectBuilder.cpp b/GUI/Models/Domain/DomainObjectBuilder.cpp
index 2623e4d86f8..096d3082a9c 100644
--- a/GUI/Models/Domain/DomainObjectBuilder.cpp
+++ b/GUI/Models/Domain/DomainObjectBuilder.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Domain/DomainObjectBuilder.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "GUI/utils/Error.h"
 
diff --git a/GUI/Models/Domain/DomainSimulationBuilder.cpp b/GUI/Models/Domain/DomainSimulationBuilder.cpp
index ce156b2895e..dfc6b361ffd 100644
--- a/GUI/Models/Domain/DomainSimulationBuilder.cpp
+++ b/GUI/Models/Domain/DomainSimulationBuilder.cpp
@@ -19,12 +19,12 @@
 #include "Core/Simulation/includeSimulations.h"
 #include "Device/Beam/Beam.h"
 #include "Device/Beam/IFootprintFactor.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/BackgroundItems.h"
-#include "GUI/Items/FootprintItems.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/SimulationOptionsItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Instrument/BackgroundItems.h"
+#include "GUI/Models/Instrument/FootprintItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
 #include "GUI/Models/Domain/DomainObjectBuilder.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Models/Domain/TransformFromDomain.cpp b/GUI/Models/Domain/TransformFromDomain.cpp
index 6f1e9167657..6473533ac5b 100644
--- a/GUI/Models/Domain/TransformFromDomain.cpp
+++ b/GUI/Models/Domain/TransformFromDomain.cpp
@@ -32,22 +32,22 @@
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 #include "Device/Resolution/ScanResolution.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/BackgroundItems.h"
-#include "GUI/Items/BeamAngleItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
-#include "GUI/Items/FTDecayFunctionItems.h"
-#include "GUI/Items/FTDistributionItems.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/Lattice2DItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/LayerRoughnessItems.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/RectangularDetectorItem.h"
-#include "GUI/Items/ResolutionFunctionItems.h"
-#include "GUI/Items/SphericalDetectorItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Instrument/BackgroundItems.h"
+#include "GUI/Models/Instrument/BeamAngleItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
+#include "GUI/Models/Sample/FTDecayFunctionItems.h"
+#include "GUI/Models/Sample/FTDistributionItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/Lattice2DItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
+#include "GUI/Models/Sample/ResolutionFunctionItems.h"
+#include "GUI/Models/Instrument/SphericalDetectorItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Types/UIntDescriptor.h"
 #include "GUI/utils/Error.h"
 #include "Param/Distrib/Distributions.h"
diff --git a/GUI/Models/Domain/TransformToDomain.cpp b/GUI/Models/Domain/TransformToDomain.cpp
index a5ca00c8540..1c492f3bf2a 100644
--- a/GUI/Models/Domain/TransformToDomain.cpp
+++ b/GUI/Models/Domain/TransformToDomain.cpp
@@ -17,24 +17,24 @@
 #include "Core/Scan/AlphaScan.h"
 #include "Core/Simulation/GISASSimulation.h"
 #include "Device/Resolution/ScanResolution.h"
-#include "GUI/Items/BeamAngleItems.h"
-#include "GUI/Items/BeamItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobModelFunctions.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/LayerRoughnessItems.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/RotationItems.h"
-#include "GUI/Items/SimulationOptionsItem.h"
-#include "GUI/Items/TransformationItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/BeamAngleItems.h"
+#include "GUI/Models/Instrument/BeamItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobModelFunctions.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Trafo/RotationItems.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
+#include "GUI/Models/Trafo/TransformationItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "GUI/Models/Types/UIntDescriptor.h"
 #include "Param/Distrib/RangedDistributions.h"
diff --git a/GUI/Items/FitParameterItems.cpp b/GUI/Models/Fit/FitParameterItems.cpp
similarity index 97%
rename from GUI/Items/FitParameterItems.cpp
rename to GUI/Models/Fit/FitParameterItems.cpp
index d5f4f784658..28396adc3d0 100644
--- a/GUI/Items/FitParameterItems.cpp
+++ b/GUI/Models/Fit/FitParameterItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FitParameterItems.cpp
+//! @file      GUI/Models/Fit/FitParameterItems.cpp
 //! @brief     Implements FitParameterItems family of classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/FitParameterItems.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
 #include "Base/Utils/Assert.h"
 #include "Fit/Param/Parameters.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/ParameterTreeItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/utils/Error.h"
 #include <cmath>
diff --git a/GUI/Items/FitParameterItems.h b/GUI/Models/Fit/FitParameterItems.h
similarity index 92%
rename from GUI/Items/FitParameterItems.h
rename to GUI/Models/Fit/FitParameterItems.h
index bf8f6e9b578..f15a73e31fe 100644
--- a/GUI/Items/FitParameterItems.h
+++ b/GUI/Models/Fit/FitParameterItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FitParameterItems.h
+//! @file      GUI/Models/Fit/FitParameterItems.h
 //! @brief     Defines classes FitParameterItem, FitParameterLinkItem, FitParameterContainerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_FITPARAMETERITEMS_H
-#define BORNAGAIN_GUI_ITEMS_FITPARAMETERITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_FIT_FITPARAMETERITEMS_H
+#define BORNAGAIN_GUI_MODELS_FIT_FITPARAMETERITEMS_H
 
 #include "Fit/Param/AttLimits.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class FitParameterLinkItem;
 
@@ -109,4 +109,4 @@ public:
     mumufit::Parameters createParameters() const;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_FITPARAMETERITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_FIT_FITPARAMETERITEMS_H
diff --git a/GUI/Models/Fit/FitParameterProxyModel.cpp b/GUI/Models/Fit/FitParameterProxyModel.cpp
index 80e1a1132ba..e33c61489c5 100644
--- a/GUI/Models/Fit/FitParameterProxyModel.cpp
+++ b/GUI/Models/Fit/FitParameterProxyModel.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Fit/FitParameterProxyModel.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 #include "GUI/Models/Job/FitParameterHelper.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/FitSuiteItem.cpp b/GUI/Models/Fit/FitSuiteItem.cpp
similarity index 92%
rename from GUI/Items/FitSuiteItem.cpp
rename to GUI/Models/Fit/FitSuiteItem.cpp
index 29316331836..5bca3eb6d5b 100644
--- a/GUI/Items/FitSuiteItem.cpp
+++ b/GUI/Models/Fit/FitSuiteItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FitSuiteItem.cpp
+//! @file      GUI/Models/Fit/FitSuiteItem.cpp
 //! @brief     Implements class FitSuiteItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/MinimizerItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Fit/MinimizerItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/utils/Error.h"
 
 FitSuiteItem::FitSuiteItem() : SessionItem(M_TYPE)
diff --git a/GUI/Items/FitSuiteItem.h b/GUI/Models/Fit/FitSuiteItem.h
similarity index 87%
rename from GUI/Items/FitSuiteItem.h
rename to GUI/Models/Fit/FitSuiteItem.h
index d5c57c93593..76e01a6a91a 100644
--- a/GUI/Items/FitSuiteItem.h
+++ b/GUI/Models/Fit/FitSuiteItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FitSuiteItem.h
+//! @file      GUI/Models/Fit/FitSuiteItem.h
 //! @brief     Defines class FitSuiteItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_FITSUITEITEM_H
-#define BORNAGAIN_GUI_ITEMS_FITSUITEITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_FIT_FITSUITEITEM_H
+#define BORNAGAIN_GUI_MODELS_FIT_FITSUITEITEM_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class FitParameterContainerItem;
 class MinimizerContainerItem;
@@ -51,4 +51,4 @@ public:
     void setChi2(double chi2);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_FITSUITEITEM_H
+#endif // BORNAGAIN_GUI_MODELS_FIT_FITSUITEITEM_H
diff --git a/GUI/Items/MinimizerItem.cpp b/GUI/Models/Fit/MinimizerItem.cpp
similarity index 98%
rename from GUI/Items/MinimizerItem.cpp
rename to GUI/Models/Fit/MinimizerItem.cpp
index 8e8ff16ed51..abc204f736c 100644
--- a/GUI/Items/MinimizerItem.cpp
+++ b/GUI/Models/Fit/MinimizerItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MinimizerItem.cpp
+//! @file      GUI/Models/Fit/MinimizerItem.cpp
 //! @brief     Implements MinimizerItem class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MinimizerItem.h"
+#include "GUI/Models/Fit/MinimizerItem.h"
 #include "Core/Fitting/ObjectiveMetric.h"
 #include "Core/Fitting/ObjectiveMetricUtils.h"
 #include "Fit/Adapter/GSLLevenbergMarquardtMinimizer.h"
@@ -21,7 +21,7 @@
 #include "Fit/Adapter/Minuit2Minimizer.h"
 #include "Fit/Adapter/SimAnMinimizer.h"
 #include "Fit/Minimizer/TestMinimizer.h"
-#include "GUI/Items/MinimizerItemCatalog.h"
+#include "GUI/Models/Fit/MinimizerItemCatalog.h"
 #include "GUI/Models/Group/GroupInfo.h"
 
 namespace {
diff --git a/GUI/Items/MinimizerItem.h b/GUI/Models/Fit/MinimizerItem.h
similarity index 94%
rename from GUI/Items/MinimizerItem.h
rename to GUI/Models/Fit/MinimizerItem.h
index 6a582c60dbc..e381f944829 100644
--- a/GUI/Items/MinimizerItem.h
+++ b/GUI/Models/Fit/MinimizerItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MinimizerItem.h
+//! @file      GUI/Models/Fit/MinimizerItem.h
 //! @brief     Defines MinimizerItem class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MINIMIZERITEM_H
-#define BORNAGAIN_GUI_ITEMS_MINIMIZERITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_FIT_MINIMIZERITEM_H
+#define BORNAGAIN_GUI_MODELS_FIT_MINIMIZERITEM_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class IMinimizer;
 class ObjectiveMetric;
@@ -139,4 +139,4 @@ public:
     std::unique_ptr<IMinimizer> createMinimizer() const;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_MINIMIZERITEM_H
+#endif // BORNAGAIN_GUI_MODELS_FIT_MINIMIZERITEM_H
diff --git a/GUI/Items/MinimizerItemCatalog.cpp b/GUI/Models/Fit/MinimizerItemCatalog.cpp
similarity index 93%
rename from GUI/Items/MinimizerItemCatalog.cpp
rename to GUI/Models/Fit/MinimizerItemCatalog.cpp
index 49a2813c051..fba0e387f2b 100644
--- a/GUI/Items/MinimizerItemCatalog.cpp
+++ b/GUI/Models/Fit/MinimizerItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MinimizerItemCatalog.cpp
+//! @file      GUI/Models/Fit/MinimizerItemCatalog.cpp
 //! @brief     Implements MinimizerItemCatalog class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MinimizerItemCatalog.h"
+#include "GUI/Models/Fit/MinimizerItemCatalog.h"
 #include "Fit/Kernel/MinimizerFactory.h"
 #include "GUI/utils/Helpers.h"
 
diff --git a/GUI/Items/MinimizerItemCatalog.h b/GUI/Models/Fit/MinimizerItemCatalog.h
similarity index 82%
rename from GUI/Items/MinimizerItemCatalog.h
rename to GUI/Models/Fit/MinimizerItemCatalog.h
index e7f2afea186..b500faf79fa 100644
--- a/GUI/Items/MinimizerItemCatalog.h
+++ b/GUI/Models/Fit/MinimizerItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MinimizerItemCatalog.h
+//! @file      GUI/Models/Fit/MinimizerItemCatalog.h
 //! @brief     Defines MinimizerItemCatalog class
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MINIMIZERITEMCATALOG_H
-#define BORNAGAIN_GUI_ITEMS_MINIMIZERITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODELS_FIT_MINIMIZERITEMCATALOG_H
+#define BORNAGAIN_GUI_MODELS_FIT_MINIMIZERITEMCATALOG_H
 
 #include "GUI/Models/Group/ComboProperty.h"
 
@@ -31,4 +31,4 @@ private:
     static QStringList algorithmDescriptions(const QString& minimizerType);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_MINIMIZERITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODELS_FIT_MINIMIZERITEMCATALOG_H
diff --git a/GUI/Models/Group/GroupInfo.h b/GUI/Models/Group/GroupInfo.h
index 3b7a00c23a0..5966333b3f8 100644
--- a/GUI/Models/Group/GroupInfo.h
+++ b/GUI/Models/Group/GroupInfo.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_GROUP_GROUPINFO_H
 #define BORNAGAIN_GUI_MODELS_GROUP_GROUPINFO_H
 
-#include "GUI/Items/ItemCatalog.h"
+#include "GUI/Models/Varia/ItemCatalog.h"
 #include <QString>
 #include <QStringList>
 #include <QVector>
diff --git a/GUI/Items/GroupItem.cpp b/GUI/Models/Group/GroupItem.cpp
similarity index 96%
rename from GUI/Items/GroupItem.cpp
rename to GUI/Models/Group/GroupItem.cpp
index c60342a941b..31bb86ef818 100644
--- a/GUI/Items/GroupItem.cpp
+++ b/GUI/Models/Group/GroupItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/GroupItem.cpp
+//! @file      GUI/Models/Group/GroupItem.cpp
 //! @brief     Implements class GroupItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/GroupItem.h"
+#include "GUI/Models/Group/GroupItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/utils/Error.h"
 
diff --git a/GUI/Items/GroupItem.h b/GUI/Models/Group/GroupItem.h
similarity index 83%
rename from GUI/Items/GroupItem.h
rename to GUI/Models/Group/GroupItem.h
index b353f61443f..fd88abbc42f 100644
--- a/GUI/Items/GroupItem.h
+++ b/GUI/Models/Group/GroupItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/GroupItem.h
+//! @file      GUI/Models/Group/GroupItem.h
 //! @brief     Defines class GroupItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_GROUPITEM_H
-#define BORNAGAIN_GUI_ITEMS_GROUPITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_GROUP_GROUPITEM_H
+#define BORNAGAIN_GUI_MODELS_GROUP_GROUPITEM_H
 
-#include "GUI/Items/GroupItemController.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Group/GroupItemController.h"
+#include "GUI/Models/Session/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_ITEMS_GROUPITEM_H
+#endif // BORNAGAIN_GUI_MODELS_GROUP_GROUPITEM_H
diff --git a/GUI/Items/GroupItemController.cpp b/GUI/Models/Group/GroupItemController.cpp
similarity index 94%
rename from GUI/Items/GroupItemController.cpp
rename to GUI/Models/Group/GroupItemController.cpp
index 0bad7c36155..aadd5528b7a 100644
--- a/GUI/Items/GroupItemController.cpp
+++ b/GUI/Models/Group/GroupItemController.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/GroupItemController.cpp
+//! @file      GUI/Models/Group/GroupItemController.cpp
 //! @brief     Implements class GroupItemController
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/GroupItemController.h"
-#include "GUI/Items/ItemFactory.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Group/GroupItemController.h"
+#include "GUI/Models/Varia/ItemFactory.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 
 GroupItemController::GroupItemController(SessionItem* groupItem, GroupInfo groupInfo)
diff --git a/GUI/Items/GroupItemController.h b/GUI/Models/Group/GroupItemController.h
similarity index 86%
rename from GUI/Items/GroupItemController.h
rename to GUI/Models/Group/GroupItemController.h
index b59e7995309..48e53124eff 100644
--- a/GUI/Items/GroupItemController.h
+++ b/GUI/Models/Group/GroupItemController.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/GroupItemController.h
+//! @file      GUI/Models/Group/GroupItemController.h
 //! @brief     Defines class GroupItemController
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_GROUPITEMCONTROLLER_H
-#define BORNAGAIN_GUI_ITEMS_GROUPITEMCONTROLLER_H
+#ifndef BORNAGAIN_GUI_MODELS_GROUP_GROUPITEMCONTROLLER_H
+#define BORNAGAIN_GUI_MODELS_GROUP_GROUPITEMCONTROLLER_H
 
 #include "GUI/Models/Group/GroupInfo.h"
 #include <QStringList>
@@ -52,4 +52,4 @@ private:
     GroupInfo m_groupInfo;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_GROUPITEMCONTROLLER_H
+#endif // BORNAGAIN_GUI_MODELS_GROUP_GROUPITEMCONTROLLER_H
diff --git a/GUI/Models/Group/SelectionDescriptor.h b/GUI/Models/Group/SelectionDescriptor.h
index 92aab993dbf..29bca42acc2 100644
--- a/GUI/Models/Group/SelectionDescriptor.h
+++ b/GUI/Models/Group/SelectionDescriptor.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_GROUP_SELECTIONDESCRIPTOR_H
 #define BORNAGAIN_GUI_MODELS_GROUP_SELECTIONDESCRIPTOR_H
 
-#include "GUI/Items/GroupItem.h"
+#include "GUI/Models/Group/GroupItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include <QString>
 #include <QStringList>
diff --git a/GUI/Items/BackgroundItems.cpp b/GUI/Models/Instrument/BackgroundItems.cpp
similarity index 95%
rename from GUI/Items/BackgroundItems.cpp
rename to GUI/Models/Instrument/BackgroundItems.cpp
index 842c8c0f890..0166df2370c 100644
--- a/GUI/Items/BackgroundItems.cpp
+++ b/GUI/Models/Instrument/BackgroundItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BackgroundItems.cpp
+//! @file      GUI/Models/Instrument/BackgroundItems.cpp
 //! @brief     Implements BackgroundItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/BackgroundItems.h"
+#include "GUI/Models/Instrument/BackgroundItems.h"
 #include "Core/Background/ConstantBackground.h"
 #include "Core/Background/PoissonNoiseBackground.h"
 
diff --git a/GUI/Items/BackgroundItems.h b/GUI/Models/Instrument/BackgroundItems.h
similarity index 84%
rename from GUI/Items/BackgroundItems.h
rename to GUI/Models/Instrument/BackgroundItems.h
index b8507d68c71..10c7327c4b3 100644
--- a/GUI/Items/BackgroundItems.h
+++ b/GUI/Models/Instrument/BackgroundItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BackgroundItems.h
+//! @file      GUI/Models/Instrument/BackgroundItems.h
 //! @brief     Defines BackgroundItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_BACKGROUNDITEMS_H
-#define BORNAGAIN_GUI_ITEMS_BACKGROUNDITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_BACKGROUNDITEMS_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_BACKGROUNDITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class IBackground;
 
@@ -56,4 +56,4 @@ public:
     std::unique_ptr<IBackground> createBackground() const;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_BACKGROUNDITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_BACKGROUNDITEMS_H
diff --git a/GUI/Items/BeamAngleItems.cpp b/GUI/Models/Instrument/BeamAngleItems.cpp
similarity index 95%
rename from GUI/Items/BeamAngleItems.cpp
rename to GUI/Models/Instrument/BeamAngleItems.cpp
index f1f2a87b24f..1596404ec15 100644
--- a/GUI/Items/BeamAngleItems.cpp
+++ b/GUI/Models/Instrument/BeamAngleItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamAngleItems.cpp
+//! @file      GUI/Models/Instrument/BeamAngleItems.cpp
 //! @brief     Implements class BeamAngleItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/BeamAngleItems.h"
+#include "GUI/Models/Instrument/BeamAngleItems.h"
 #include "Base/Const/Units.h"
 
 BeamAzimuthalAngleItem::BeamAzimuthalAngleItem() : BeamDistributionItem(M_TYPE, m_show_mean)
diff --git a/GUI/Items/BeamAngleItems.h b/GUI/Models/Instrument/BeamAngleItems.h
similarity index 80%
rename from GUI/Items/BeamAngleItems.h
rename to GUI/Models/Instrument/BeamAngleItems.h
index eb1a3c19ba5..6feeeaba6b5 100644
--- a/GUI/Items/BeamAngleItems.h
+++ b/GUI/Models/Instrument/BeamAngleItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamAngleItems.h
+//! @file      GUI/Models/Instrument/BeamAngleItems.h
 //! @brief     Defines class BeamAngleItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_BEAMANGLEITEMS_H
-#define BORNAGAIN_GUI_ITEMS_BEAMANGLEITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMANGLEITEMS_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMANGLEITEMS_H
 
-#include "GUI/Items/BeamDistributionItem.h"
+#include "GUI/Models/Instrument/BeamDistributionItem.h"
 
 class BeamAzimuthalAngleItem : public BeamDistributionItem {
 public:
@@ -45,4 +45,4 @@ private:
     static const bool m_show_mean = true;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_BEAMANGLEITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMANGLEITEMS_H
diff --git a/GUI/Items/BeamDistributionItem.cpp b/GUI/Models/Instrument/BeamDistributionItem.cpp
similarity index 97%
rename from GUI/Items/BeamDistributionItem.cpp
rename to GUI/Models/Instrument/BeamDistributionItem.cpp
index 3627ae213fb..1002cf834ea 100644
--- a/GUI/Items/BeamDistributionItem.cpp
+++ b/GUI/Models/Instrument/BeamDistributionItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamDistributionItem.cpp
+//! @file      GUI/Models/Instrument/BeamDistributionItem.cpp
 //! @brief     Implements class BeamDistributionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/BeamDistributionItem.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/RealLimitsItems.h"
+#include "GUI/Models/Instrument/BeamDistributionItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Varia/RealLimitsItems.h"
 #include "Param/Distrib/Distributions.h"
 
 namespace {
diff --git a/GUI/Items/BeamDistributionItem.h b/GUI/Models/Instrument/BeamDistributionItem.h
similarity index 84%
rename from GUI/Items/BeamDistributionItem.h
rename to GUI/Models/Instrument/BeamDistributionItem.h
index 01b644101c0..27cac4d8194 100644
--- a/GUI/Items/BeamDistributionItem.h
+++ b/GUI/Models/Instrument/BeamDistributionItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamDistributionItem.h
+//! @file      GUI/Models/Instrument/BeamDistributionItem.h
 //! @brief     Defines class BeamDistributionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_BEAMDISTRIBUTIONITEM_H
-#define BORNAGAIN_GUI_ITEMS_BEAMDISTRIBUTIONITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMDISTRIBUTIONITEM_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMDISTRIBUTIONITEM_H
 
-#include "GUI/Items/DistributionItems.h"
-#include "GUI/Items/ItemWithDistribution.h"
+#include "GUI/Models/Varia/DistributionItems.h"
+#include "GUI/Models/Varia/ItemWithDistribution.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_ITEMS_BEAMDISTRIBUTIONITEM_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMDISTRIBUTIONITEM_H
diff --git a/GUI/Items/BeamItems.cpp b/GUI/Models/Instrument/BeamItems.cpp
similarity index 95%
rename from GUI/Items/BeamItems.cpp
rename to GUI/Models/Instrument/BeamItems.cpp
index d7928d0cd1a..9451b1c8bdc 100644
--- a/GUI/Items/BeamItems.cpp
+++ b/GUI/Models/Instrument/BeamItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamItems.cpp
+//! @file      GUI/Models/Instrument/BeamItems.cpp
 //! @brief     Implements BeamItem hierarchy
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,16 +12,16 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/BeamItems.h"
+#include "GUI/Models/Instrument/BeamItems.h"
 #include "Base/Axis/IAxis.h"
 #include "Base/Const/Units.h"
 #include "Device/Beam/Beam.h"
-#include "GUI/Items/BeamAngleItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
-#include "GUI/Items/FootprintItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/PointwiseAxisItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/BeamAngleItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
+#include "GUI/Models/Instrument/FootprintItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include <cmath>
 
 namespace {
diff --git a/GUI/Items/BeamItems.h b/GUI/Models/Instrument/BeamItems.h
similarity index 90%
rename from GUI/Items/BeamItems.h
rename to GUI/Models/Instrument/BeamItems.h
index be7d5eeac7b..882d9326f45 100644
--- a/GUI/Items/BeamItems.h
+++ b/GUI/Models/Instrument/BeamItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamItems.h
+//! @file      GUI/Models/Instrument/BeamItems.h
 //! @brief     Defines BeamItem hierarchy
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_BEAMITEMS_H
-#define BORNAGAIN_GUI_ITEMS_BEAMITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMITEMS_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMITEMS_H
 
 #include "Base/Vector/Vectors3D.h"
-#include "GUI/Items/SessionItem.h"
-#include "GUI/Items/SpecularBeamInclinationItem.h"
+#include "GUI/Models/Session/SessionItem.h"
+#include "GUI/Models/Instrument/SpecularBeamInclinationItem.h"
 
 class BasicAxisItem;
 class Beam;
@@ -112,4 +112,4 @@ template <typename T> T* SpecularBeamItem::setFootprintType()
     return setGroupPropertyType<T>(P_FOOTPRINT);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_BEAMITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMITEMS_H
diff --git a/GUI/Items/BeamWavelengthItem.cpp b/GUI/Models/Instrument/BeamWavelengthItem.cpp
similarity index 94%
rename from GUI/Items/BeamWavelengthItem.cpp
rename to GUI/Models/Instrument/BeamWavelengthItem.cpp
index 040ed5499ed..53a21934f8f 100644
--- a/GUI/Items/BeamWavelengthItem.cpp
+++ b/GUI/Models/Instrument/BeamWavelengthItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamWavelengthItem.cpp
+//! @file      GUI/Models/Instrument/BeamWavelengthItem.cpp
 //! @brief     Implements class BeamWavelengthItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/BeamWavelengthItem.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
 
 namespace {
 const double default_wl = 0.1;
diff --git a/GUI/Items/BeamWavelengthItem.h b/GUI/Models/Instrument/BeamWavelengthItem.h
similarity index 78%
rename from GUI/Items/BeamWavelengthItem.h
rename to GUI/Models/Instrument/BeamWavelengthItem.h
index ecfecd76f6f..bc18abcc0ef 100644
--- a/GUI/Items/BeamWavelengthItem.h
+++ b/GUI/Models/Instrument/BeamWavelengthItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/BeamWavelengthItem.h
+//! @file      GUI/Models/Instrument/BeamWavelengthItem.h
 //! @brief     Defines class BeamWavelengthItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_BEAMWAVELENGTHITEM_H
-#define BORNAGAIN_GUI_ITEMS_BEAMWAVELENGTHITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMWAVELENGTHITEM_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMWAVELENGTHITEM_H
 
-#include "GUI/Items/BeamDistributionItem.h"
+#include "GUI/Models/Instrument/BeamDistributionItem.h"
 
 class BA_CORE_API_ BeamWavelengthItem : public BeamDistributionItem {
 public:
@@ -39,4 +39,4 @@ public:
     void setToRange(const RealLimits& limits);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_BEAMWAVELENGTHITEM_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_BEAMWAVELENGTHITEM_H
diff --git a/GUI/Items/DetectorItems.cpp b/GUI/Models/Instrument/DetectorItems.cpp
similarity index 94%
rename from GUI/Items/DetectorItems.cpp
rename to GUI/Models/Instrument/DetectorItems.cpp
index 554fe072a7f..7460b6b2498 100644
--- a/GUI/Items/DetectorItems.cpp
+++ b/GUI/Models/Instrument/DetectorItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DetectorItems.cpp
+//! @file      GUI/Models/Instrument/DetectorItems.cpp
 //! @brief     Implements classes DetectorItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/DetectorItems.h"
+#include "GUI/Models/Instrument/DetectorItems.h"
 #include "Device/Detector/IDetector2D.h"
 #include "Device/Mask/IShape2D.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ResolutionFunctionItems.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/SphericalDetectorItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Sample/ResolutionFunctionItems.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Instrument/SphericalDetectorItem.h"
 #include "GUI/Models/Group/GroupInfo.h"
 
 namespace {
diff --git a/GUI/Items/DetectorItems.h b/GUI/Models/Instrument/DetectorItems.h
similarity index 90%
rename from GUI/Items/DetectorItems.h
rename to GUI/Models/Instrument/DetectorItems.h
index 1de5e6df0f2..c63e43687b7 100644
--- a/GUI/Items/DetectorItems.h
+++ b/GUI/Models/Instrument/DetectorItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DetectorItems.h
+//! @file      GUI/Models/Instrument/DetectorItems.h
 //! @brief     Defines classes DetectorItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_DETECTORITEMS_H
-#define BORNAGAIN_GUI_ITEMS_DETECTORITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_DETECTORITEMS_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_DETECTORITEMS_H
 
 #include "Base/Vector/Vectors3D.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class MaskContainerItem;
 class IDetector2D;
@@ -82,4 +82,4 @@ template <typename T> T* DetectorItem::setResolutionFunctionType()
     return setGroupPropertyType<T>(P_RESOLUTION_FUNCTION);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_DETECTORITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_DETECTORITEMS_H
diff --git a/GUI/Items/FootprintItems.cpp b/GUI/Models/Instrument/FootprintItems.cpp
similarity index 96%
rename from GUI/Items/FootprintItems.cpp
rename to GUI/Models/Instrument/FootprintItems.cpp
index 0a606219f12..25e6484c6d3 100644
--- a/GUI/Items/FootprintItems.cpp
+++ b/GUI/Models/Instrument/FootprintItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FootprintItems.cpp
+//! @file      GUI/Models/Instrument/FootprintItems.cpp
 //! @brief     Implements FootprintItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/FootprintItems.h"
+#include "GUI/Models/Instrument/FootprintItems.h"
 #include "Device/Beam/FootprintGauss.h"
 #include "Device/Beam/FootprintSquare.h"
 
diff --git a/GUI/Items/FootprintItems.h b/GUI/Models/Instrument/FootprintItems.h
similarity index 87%
rename from GUI/Items/FootprintItems.h
rename to GUI/Models/Instrument/FootprintItems.h
index d2a5f551b56..19cec1ddfb1 100644
--- a/GUI/Items/FootprintItems.h
+++ b/GUI/Models/Instrument/FootprintItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FootprintItems.h
+//! @file      GUI/Models/Instrument/FootprintItems.h
 //! @brief     Declares FootprintItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_FOOTPRINTITEMS_H
-#define BORNAGAIN_GUI_ITEMS_FOOTPRINTITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_FOOTPRINTITEMS_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_FOOTPRINTITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class IFootprintFactor;
 
@@ -65,4 +65,4 @@ public:
     void setSquareFootprintValue(double value);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_FOOTPRINTITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_FOOTPRINTITEMS_H
diff --git a/GUI/Items/InstrumentItems.cpp b/GUI/Models/Instrument/InstrumentItems.cpp
similarity index 96%
rename from GUI/Items/InstrumentItems.cpp
rename to GUI/Models/Instrument/InstrumentItems.cpp
index ff9c87c95a2..41e9e1212fc 100644
--- a/GUI/Items/InstrumentItems.cpp
+++ b/GUI/Models/Instrument/InstrumentItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/InstrumentItems.cpp
+//! @file      GUI/Models/Instrument/InstrumentItems.cpp
 //! @brief     Implement class InstrumentItem and all its children
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "Base/Const/Units.h"
 #include "Base/Pixel/RectangularPixel.h"
 #include "Core/Simulation/DepthProbeSimulation.h"
@@ -21,17 +21,17 @@
 #include "Device/Coord/CoordSystem2D.h"
 #include "Device/Detector/RectangularDetector.h"
 #include "Device/Detector/SphericalDetector.h"
-#include "GUI/Items/BackgroundItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
-#include "GUI/Items/DetectorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/ItemFileNameUtils.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/PointwiseAxisItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/RectangularDetectorItem.h"
-#include "GUI/Items/SphericalDetectorItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/BackgroundItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
+#include "GUI/Models/Instrument/DetectorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Varia/ItemFileNameUtils.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
+#include "GUI/Models/Instrument/SphericalDetectorItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "GUI/utils/Error.h"
 #include "GUI/utils/Helpers.h"
diff --git a/GUI/Items/InstrumentItems.h b/GUI/Models/Instrument/InstrumentItems.h
similarity index 95%
rename from GUI/Items/InstrumentItems.h
rename to GUI/Models/Instrument/InstrumentItems.h
index 226cd3a4555..a969230f5ce 100644
--- a/GUI/Items/InstrumentItems.h
+++ b/GUI/Models/Instrument/InstrumentItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/InstrumentItems.h
+//! @file      GUI/Models/Instrument/InstrumentItems.h
 //! @brief     Defines class InstrumentItem and all its children
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_INSTRUMENTITEMS_H
-#define BORNAGAIN_GUI_ITEMS_INSTRUMENTITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_INSTRUMENTITEMS_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_INSTRUMENTITEMS_H
 
-#include "GUI/Items/BeamItems.h" // inheritance prevents forward declaration
+#include "GUI/Models/Instrument/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_ITEMS_INSTRUMENTITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_INSTRUMENTITEMS_H
diff --git a/GUI/Models/Instrument/InstrumentLibrary.cpp b/GUI/Models/Instrument/InstrumentLibrary.cpp
index d2c4455aef1..a1bb89ff5ca 100644
--- a/GUI/Models/Instrument/InstrumentLibrary.cpp
+++ b/GUI/Models/Instrument/InstrumentLibrary.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Instrument/InstrumentLibrary.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Models/Instrument/InstrumentsTreeModel.h"
 #include "GUI/Session/SessionData.h"
 #include <QFile>
diff --git a/GUI/Models/Instrument/InstrumentModel.cpp b/GUI/Models/Instrument/InstrumentModel.cpp
index 4e2e294a47e..baf66f3da90 100644
--- a/GUI/Models/Instrument/InstrumentModel.cpp
+++ b/GUI/Models/Instrument/InstrumentModel.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Instrument/InstrumentModel.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/PointwiseAxisItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
 #include "GUI/Mapper/ModelUtils.h"
 
 InstrumentModel::InstrumentModel(QObject* parent)
diff --git a/GUI/Models/Instrument/InstrumentModel.h b/GUI/Models/Instrument/InstrumentModel.h
index 4dd94bff720..a7372be40a3 100644
--- a/GUI/Models/Instrument/InstrumentModel.h
+++ b/GUI/Models/Instrument/InstrumentModel.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_INSTRUMENTMODEL_H
 #define BORNAGAIN_GUI_MODELS_INSTRUMENT_INSTRUMENTMODEL_H
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include <functional>
 
 class InstrumentItem;
diff --git a/GUI/Models/Instrument/InstrumentsTreeModel.cpp b/GUI/Models/Instrument/InstrumentsTreeModel.cpp
index b0a1a890b85..035cf8d19a8 100644
--- a/GUI/Models/Instrument/InstrumentsTreeModel.cpp
+++ b/GUI/Models/Instrument/InstrumentsTreeModel.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Models/Instrument/InstrumentsTreeModel.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include <QApplication>
 #include <QtCore>
diff --git a/GUI/Items/MaskItems.cpp b/GUI/Models/Instrument/MaskItems.cpp
similarity index 99%
rename from GUI/Items/MaskItems.cpp
rename to GUI/Models/Instrument/MaskItems.cpp
index f0dcf0e7211..21ba316eb6c 100644
--- a/GUI/Items/MaskItems.cpp
+++ b/GUI/Models/Instrument/MaskItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaskItems.cpp
+//! @file      GUI/Models/Instrument/MaskItems.cpp
 //! @brief     Implements MaskItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "Device/Mask/Ellipse.h"
 #include "Device/Mask/InfinitePlane.h"
 #include "Device/Mask/Line.h"
diff --git a/GUI/Items/MaskItems.h b/GUI/Models/Instrument/MaskItems.h
similarity index 95%
rename from GUI/Items/MaskItems.h
rename to GUI/Models/Instrument/MaskItems.h
index f0a65fec68d..cea5a2b7dd3 100644
--- a/GUI/Items/MaskItems.h
+++ b/GUI/Models/Instrument/MaskItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaskItems.h
+//! @file      GUI/Models/Instrument/MaskItems.h
 //! @brief     Defines MaskItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MASKITEMS_H
-#define BORNAGAIN_GUI_ITEMS_MASKITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_MASKITEMS_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_MASKITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class IShape2D;
 
@@ -188,4 +188,4 @@ public:
     virtual std::unique_ptr<IShape2D> createShape(double scale) const override;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_MASKITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_MASKITEMS_H
diff --git a/GUI/Items/RectangularDetectorItem.cpp b/GUI/Models/Instrument/RectangularDetectorItem.cpp
similarity index 98%
rename from GUI/Items/RectangularDetectorItem.cpp
rename to GUI/Models/Instrument/RectangularDetectorItem.cpp
index 3d1bfc886c1..503fb1e39c0 100644
--- a/GUI/Items/RectangularDetectorItem.cpp
+++ b/GUI/Models/Instrument/RectangularDetectorItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RectangularDetectorItem.cpp
+//! @file      GUI/Models/Instrument/RectangularDetectorItem.cpp
 //! @brief     Implements class RectangularDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/RectangularDetectorItem.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
 #include "Device/Detector/RectangularDetector.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/utils/Error.h"
 
diff --git a/GUI/Items/RectangularDetectorItem.h b/GUI/Models/Instrument/RectangularDetectorItem.h
similarity index 89%
rename from GUI/Items/RectangularDetectorItem.h
rename to GUI/Models/Instrument/RectangularDetectorItem.h
index 31a77053709..e3c99fc9972 100644
--- a/GUI/Items/RectangularDetectorItem.h
+++ b/GUI/Models/Instrument/RectangularDetectorItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RectangularDetectorItem.h
+//! @file      GUI/Models/Instrument/RectangularDetectorItem.h
 //! @brief     Defines class RectangularDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_RECTANGULARDETECTORITEM_H
-#define BORNAGAIN_GUI_ITEMS_RECTANGULARDETECTORITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_RECTANGULARDETECTORITEM_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_RECTANGULARDETECTORITEM_H
 
-#include "GUI/Items/DetectorItems.h"
+#include "GUI/Models/Instrument/DetectorItems.h"
 
 class BasicAxisItem;
 class VectorItem;
@@ -91,4 +91,4 @@ private:
     bool m_is_constructed;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_RECTANGULARDETECTORITEM_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_RECTANGULARDETECTORITEM_H
diff --git a/GUI/Items/SpecularBeamInclinationItem.cpp b/GUI/Models/Instrument/SpecularBeamInclinationItem.cpp
similarity index 95%
rename from GUI/Items/SpecularBeamInclinationItem.cpp
rename to GUI/Models/Instrument/SpecularBeamInclinationItem.cpp
index 3034ae1c82e..87aeb0a2162 100644
--- a/GUI/Items/SpecularBeamInclinationItem.cpp
+++ b/GUI/Models/Instrument/SpecularBeamInclinationItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SpecularBeamInclinationItem.cpp
+//! @file      GUI/Models/Instrument/SpecularBeamInclinationItem.cpp
 //! @brief     Implements class SpecularBeamInclinationItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SpecularBeamInclinationItem.h"
+#include "GUI/Models/Instrument/SpecularBeamInclinationItem.h"
 #include "Base/Const/Units.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/PointwiseAxisItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
 
 namespace {
 void setupDistributionMean(SessionItem* distribution);
diff --git a/GUI/Items/SpecularBeamInclinationItem.h b/GUI/Models/Instrument/SpecularBeamInclinationItem.h
similarity index 81%
rename from GUI/Items/SpecularBeamInclinationItem.h
rename to GUI/Models/Instrument/SpecularBeamInclinationItem.h
index 2aa75f1566b..04588a7f29f 100644
--- a/GUI/Items/SpecularBeamInclinationItem.h
+++ b/GUI/Models/Instrument/SpecularBeamInclinationItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SpecularBeamInclinationItem.h
+//! @file      GUI/Models/Instrument/SpecularBeamInclinationItem.h
 //! @brief     Declares the class SpecularBeamInclinationItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SPECULARBEAMINCLINATIONITEM_H
-#define BORNAGAIN_GUI_ITEMS_SPECULARBEAMINCLINATIONITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_SPECULARBEAMINCLINATIONITEM_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_SPECULARBEAMINCLINATIONITEM_H
 
-#include "GUI/Items/BeamDistributionItem.h"
+#include "GUI/Models/Instrument/BeamDistributionItem.h"
 
 class BasicAxisItem;
 class GroupItem;
@@ -47,4 +47,4 @@ private:
     static const bool m_show_mean = false;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SPECULARBEAMINCLINATIONITEM_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_SPECULARBEAMINCLINATIONITEM_H
diff --git a/GUI/Items/SphericalDetectorItem.cpp b/GUI/Models/Instrument/SphericalDetectorItem.cpp
similarity index 94%
rename from GUI/Items/SphericalDetectorItem.cpp
rename to GUI/Models/Instrument/SphericalDetectorItem.cpp
index 1192401b297..b603c94ceb9 100644
--- a/GUI/Items/SphericalDetectorItem.cpp
+++ b/GUI/Models/Instrument/SphericalDetectorItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SphericalDetectorItem.cpp
+//! @file      GUI/Models/Instrument/SphericalDetectorItem.cpp
 //! @brief     Implements class SphericalDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SphericalDetectorItem.h"
+#include "GUI/Models/Instrument/SphericalDetectorItem.h"
 #include "Base/Const/Units.h"
 #include "Device/Detector/SphericalDetector.h"
-#include "GUI/Items/AxesItems.h"
+#include "GUI/Models/Data/AxesItems.h"
 
 SphericalDetectorItem::SphericalDetectorItem() : DetectorItem(M_TYPE)
 {
diff --git a/GUI/Items/SphericalDetectorItem.h b/GUI/Models/Instrument/SphericalDetectorItem.h
similarity index 81%
rename from GUI/Items/SphericalDetectorItem.h
rename to GUI/Models/Instrument/SphericalDetectorItem.h
index 5168c1c6406..bb00325ce42 100644
--- a/GUI/Items/SphericalDetectorItem.h
+++ b/GUI/Models/Instrument/SphericalDetectorItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SphericalDetectorItem.h
+//! @file      GUI/Models/Instrument/SphericalDetectorItem.h
 //! @brief     Defines class SphericalDetectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SPHERICALDETECTORITEM_H
-#define BORNAGAIN_GUI_ITEMS_SPHERICALDETECTORITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_INSTRUMENT_SPHERICALDETECTORITEM_H
+#define BORNAGAIN_GUI_MODELS_INSTRUMENT_SPHERICALDETECTORITEM_H
 
-#include "GUI/Items/DetectorItems.h"
+#include "GUI/Models/Instrument/DetectorItems.h"
 
 class BasicAxisItem;
 
@@ -45,4 +45,4 @@ protected:
     double axesToDomainUnitsFactor() const override;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SPHERICALDETECTORITEM_H
+#endif // BORNAGAIN_GUI_MODELS_INSTRUMENT_SPHERICALDETECTORITEM_H
diff --git a/GUI/Models/Job/FitParameterHelper.cpp b/GUI/Models/Job/FitParameterHelper.cpp
index 04ce042676f..55647ca2a91 100644
--- a/GUI/Models/Job/FitParameterHelper.cpp
+++ b/GUI/Models/Job/FitParameterHelper.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Job/FitParameterHelper.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/ParameterTreeItems.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
 #include "GUI/Models/Job/JobModel.h"
 
 //! Creates fit parameter from given ParameterItem, sets starting value to the value
diff --git a/GUI/Items/JobItem.cpp b/GUI/Models/Job/JobItem.cpp
similarity index 94%
rename from GUI/Items/JobItem.cpp
rename to GUI/Models/Job/JobItem.cpp
index ff1542b0975..0e8222149fb 100644
--- a/GUI/Items/JobItem.cpp
+++ b/GUI/Models/Job/JobItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/JobItem.cpp
+//! @file      GUI/Models/Job/JobItem.cpp
 //! @brief     Implements class JobItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,20 +12,20 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "Base/Utils/Assert.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/ItemFileNameUtils.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/MaterialItemContainer.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SimulationOptionsItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Varia/ItemFileNameUtils.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Material/MaterialItemContainer.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/utils/Error.h"
 
 JobItem::JobItem() : SessionItem(M_TYPE)
diff --git a/GUI/Items/JobItem.h b/GUI/Models/Job/JobItem.h
similarity index 95%
rename from GUI/Items/JobItem.h
rename to GUI/Models/Job/JobItem.h
index 75e104cec3e..e004295a8ed 100644
--- a/GUI/Items/JobItem.h
+++ b/GUI/Models/Job/JobItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/JobItem.h
+//! @file      GUI/Models/Job/JobItem.h
 //! @brief     Defines class JobItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_JOBITEM_H
-#define BORNAGAIN_GUI_ITEMS_JOBITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_JOB_JOBITEM_H
+#define BORNAGAIN_GUI_MODELS_JOB_JOBITEM_H
 
-#include "GUI/Items/SessionItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Job/JobStatus.h"
 
 class DataItem;
@@ -159,4 +159,4 @@ template <typename T> T* JobItem::setDataType()
     return model()->insertItem<T>(this, -1, T_OUTPUT);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_JOBITEM_H
+#endif // BORNAGAIN_GUI_MODELS_JOB_JOBITEM_H
diff --git a/GUI/Items/JobItemUtils.cpp b/GUI/Models/Job/JobItemUtils.cpp
similarity index 96%
rename from GUI/Items/JobItemUtils.cpp
rename to GUI/Models/Job/JobItemUtils.cpp
index 167ed44430e..ba959e96e4b 100644
--- a/GUI/Items/JobItemUtils.cpp
+++ b/GUI/Models/Job/JobItemUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/JobItemUtils.cpp
+//! @file      GUI/Models/Job/JobItemUtils.cpp
 //! @brief     Implements class JobItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/JobItemUtils.h"
+#include "GUI/Models/Job/JobItemUtils.h"
 #include "Core/Simulation/ISimulation.h"
 #include "Device/Coord/ICoordSystem.h"
 #include "Device/Histo/SimulationResult.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 
 namespace {
 
diff --git a/GUI/Items/JobItemUtils.h b/GUI/Models/Job/JobItemUtils.h
similarity index 90%
rename from GUI/Items/JobItemUtils.h
rename to GUI/Models/Job/JobItemUtils.h
index 3d0780c8c57..33390d9b6bc 100644
--- a/GUI/Items/JobItemUtils.h
+++ b/GUI/Models/Job/JobItemUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/JobItemUtils.h
+//! @file      GUI/Models/Job/JobItemUtils.h
 //! @brief     Defines namespace GUI::Model::JobItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_JOBITEMUTILS_H
-#define BORNAGAIN_GUI_ITEMS_JOBITEMUTILS_H
+#ifndef BORNAGAIN_GUI_MODELS_JOB_JOBITEMUTILS_H
+#define BORNAGAIN_GUI_MODELS_JOB_JOBITEMUTILS_H
 
 #include "Device/Detector/IDetector.h"
 #include "GUI/Models/Group/ComboProperty.h"
@@ -53,4 +53,4 @@ ComboProperty availableUnits(const ICoordSystem& converter);
 
 } // namespace GUI::Model::JobItemUtils
 
-#endif // BORNAGAIN_GUI_ITEMS_JOBITEMUTILS_H
+#endif // BORNAGAIN_GUI_MODELS_JOB_JOBITEMUTILS_H
diff --git a/GUI/Models/Job/JobModel.cpp b/GUI/Models/Job/JobModel.cpp
index 9ab61eff4df..32c68207c30 100644
--- a/GUI/Models/Job/JobModel.cpp
+++ b/GUI/Models/Job/JobModel.cpp
@@ -13,15 +13,15 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Job/JobModel.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobModelFunctions.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/PointwiseAxisItem.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobModelFunctions.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Job/JobQueueData.h"
 #include "GUI/Models/Job/ParameterTreeUtils.h"
 #include "GUI/utils/Helpers.h"
diff --git a/GUI/Models/Job/JobModel.h b/GUI/Models/Job/JobModel.h
index 3a7730cd926..258403650ef 100644
--- a/GUI/Models/Job/JobModel.h
+++ b/GUI/Models/Job/JobModel.h
@@ -14,7 +14,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_JOB_JOBMODEL_H
 #define BORNAGAIN_GUI_MODELS_JOB_JOBMODEL_H
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 class JobQueueData;
 class JobItem;
 class MultiLayerItem;
diff --git a/GUI/Items/JobModelFunctions.cpp b/GUI/Models/Job/JobModelFunctions.cpp
similarity index 91%
rename from GUI/Items/JobModelFunctions.cpp
rename to GUI/Models/Job/JobModelFunctions.cpp
index ba322ff74a5..e1763da7abf 100644
--- a/GUI/Items/JobModelFunctions.cpp
+++ b/GUI/Models/Job/JobModelFunctions.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/JobModelFunctions.cpp
+//! @file      GUI/Models/Job/JobModelFunctions.cpp
 //! @brief     Implements auxiliary functions in JobModelFunctions namespace.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,26 +12,26 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/JobModelFunctions.h"
+#include "GUI/Models/Job/JobModelFunctions.h"
 #include "Base/Utils/Assert.h"
 #include "Device/Instrument/Instrument.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/ItemFileNameUtils.h"
-#include "GUI/Items/ItemWithMaterial.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/MaterialItemContainer.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/MinimizerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/PointwiseAxisItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Varia/ItemFileNameUtils.h"
+#include "GUI/Models/Varia/ItemWithMaterial.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Material/MaterialItemContainer.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Fit/MinimizerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Models/Data/DataPropertyContainer.h"
 #include "GUI/utils/Error.h"
 #include "GUI/utils/Helpers.h"
diff --git a/GUI/Items/JobModelFunctions.h b/GUI/Models/Job/JobModelFunctions.h
similarity index 89%
rename from GUI/Items/JobModelFunctions.h
rename to GUI/Models/Job/JobModelFunctions.h
index 3f33c782e35..6944f850dcc 100644
--- a/GUI/Items/JobModelFunctions.h
+++ b/GUI/Models/Job/JobModelFunctions.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/JobModelFunctions.h
+//! @file      GUI/Models/Job/JobModelFunctions.h
 //! @brief     Defines auxiliary functions in namespace GUI::Model::JobModelFunctions.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_JOBMODELFUNCTIONS_H
-#define BORNAGAIN_GUI_ITEMS_JOBMODELFUNCTIONS_H
+#ifndef BORNAGAIN_GUI_MODELS_JOB_JOBMODELFUNCTIONS_H
+#define BORNAGAIN_GUI_MODELS_JOB_JOBMODELFUNCTIONS_H
 
 class InstrumentItem;
 class JobItem;
@@ -51,4 +51,4 @@ const JobItem* findJobItem(const SessionItem* item);
 
 } // namespace GUI::Model::JobFunctions
 
-#endif // BORNAGAIN_GUI_ITEMS_JOBMODELFUNCTIONS_H
+#endif // BORNAGAIN_GUI_MODELS_JOB_JOBMODELFUNCTIONS_H
diff --git a/GUI/Models/Job/JobQueueData.cpp b/GUI/Models/Job/JobQueueData.cpp
index 361024f4a53..3b6966470d9 100644
--- a/GUI/Models/Job/JobQueueData.cpp
+++ b/GUI/Models/Job/JobQueueData.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Models/Job/JobQueueData.h"
 #include "Core/Simulation/GISASSimulation.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Models/Domain/DomainSimulationBuilder.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/Models/Job/JobWorker.h"
diff --git a/GUI/Models/Job/ParameterTreeUtils.cpp b/GUI/Models/Job/ParameterTreeUtils.cpp
index e49942169f8..5c8d8c9b7b7 100644
--- a/GUI/Models/Job/ParameterTreeUtils.cpp
+++ b/GUI/Models/Job/ParameterTreeUtils.cpp
@@ -13,14 +13,14 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Job/ParameterTreeUtils.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/MaterialItemContainer.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/PropertyItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Material/MaterialItemContainer.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Varia/PropertyItem.h"
 #include "GUI/utils/Error.h"
 #include <QStack>
 
diff --git a/GUI/Items/MaterialDataItems.cpp b/GUI/Models/Material/MaterialDataItems.cpp
similarity index 94%
rename from GUI/Items/MaterialDataItems.cpp
rename to GUI/Models/Material/MaterialDataItems.cpp
index c57a8b9664e..7edfe8b3b7a 100644
--- a/GUI/Items/MaterialDataItems.cpp
+++ b/GUI/Models/Material/MaterialDataItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialDataItems.cpp
+//! @file      GUI/Models/Material/MaterialDataItems.cpp
 //! @brief     Implements MaterialDataItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MaterialDataItems.h"
+#include "GUI/Models/Material/MaterialDataItems.h"
 
 MaterialDataItem::MaterialDataItem(const QString& modelType) : SessionItem(modelType)
 {
diff --git a/GUI/Items/MaterialDataItems.h b/GUI/Models/Material/MaterialDataItems.h
similarity index 82%
rename from GUI/Items/MaterialDataItems.h
rename to GUI/Models/Material/MaterialDataItems.h
index f8cc85addd6..3346932242f 100644
--- a/GUI/Items/MaterialDataItems.h
+++ b/GUI/Models/Material/MaterialDataItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialDataItems.h
+//! @file      GUI/Models/Material/MaterialDataItems.h
 //! @brief     Defines MaterialDataItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MATERIALDATAITEMS_H
-#define BORNAGAIN_GUI_ITEMS_MATERIALDATAITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALDATAITEMS_H
+#define BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALDATAITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class BA_CORE_API_ MaterialDataItem : public SessionItem {
 protected:
@@ -48,4 +48,4 @@ public:
     friend class MaterialItem;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_MATERIALDATAITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALDATAITEMS_H
diff --git a/GUI/Items/MaterialItem.cpp b/GUI/Models/Material/MaterialItem.cpp
similarity index 97%
rename from GUI/Items/MaterialItem.cpp
rename to GUI/Models/Material/MaterialItem.cpp
index 3f8ad7831c0..6975dbd97da 100644
--- a/GUI/Items/MaterialItem.cpp
+++ b/GUI/Models/Material/MaterialItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialItem.cpp
+//! @file      GUI/Models/Material/MaterialItem.cpp
 //! @brief     Implements class MaterialItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MaterialItem.h"
+#include "GUI/Models/Material/MaterialItem.h"
 #include "Base/Utils/Assert.h"
-#include "GUI/Items/MaterialDataItems.h"
+#include "GUI/Models/Material/MaterialDataItems.h"
 #include "GUI/Models/Group/GroupInfo.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/utils/Helpers.h"
diff --git a/GUI/Items/MaterialItem.h b/GUI/Models/Material/MaterialItem.h
similarity index 89%
rename from GUI/Items/MaterialItem.h
rename to GUI/Models/Material/MaterialItem.h
index 730c9f93c2a..8041e176b18 100644
--- a/GUI/Items/MaterialItem.h
+++ b/GUI/Models/Material/MaterialItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialItem.h
+//! @file      GUI/Models/Material/MaterialItem.h
 //! @brief     Defines class MaterialItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MATERIALITEM_H
-#define BORNAGAIN_GUI_ITEMS_MATERIALITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEM_H
+#define BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEM_H
 
 #include "Base/Types/Complex.h"
 #include "Base/Vector/Vectors3D.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class Material;
 class DoubleDescriptor;
@@ -73,4 +73,4 @@ public:
     bool operator!=(const MaterialItem& other) const;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_MATERIALITEM_H
+#endif // BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEM_H
diff --git a/GUI/Items/MaterialItemContainer.cpp b/GUI/Models/Material/MaterialItemContainer.cpp
similarity index 88%
rename from GUI/Items/MaterialItemContainer.cpp
rename to GUI/Models/Material/MaterialItemContainer.cpp
index f96c326732b..bf85764cd34 100644
--- a/GUI/Items/MaterialItemContainer.cpp
+++ b/GUI/Models/Material/MaterialItemContainer.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialItemContainer.cpp
+//! @file      GUI/Models/Material/MaterialItemContainer.cpp
 //! @brief     Implements class MaterialItemContainer
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MaterialItemContainer.h"
-#include "GUI/Items/MaterialItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Material/MaterialItemContainer.h"
+#include "GUI/Models/Material/MaterialItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/utils/Helpers.h"
 
 MaterialItemContainer::MaterialItemContainer() : SessionItem(M_TYPE)
diff --git a/GUI/Items/MaterialItemContainer.h b/GUI/Models/Material/MaterialItemContainer.h
similarity index 79%
rename from GUI/Items/MaterialItemContainer.h
rename to GUI/Models/Material/MaterialItemContainer.h
index 5c51c512530..ed31f278548 100644
--- a/GUI/Items/MaterialItemContainer.h
+++ b/GUI/Models/Material/MaterialItemContainer.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialItemContainer.h
+//! @file      GUI/Models/Material/MaterialItemContainer.h
 //! @brief     Defines class MaterialItemContainer
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MATERIALITEMCONTAINER_H
-#define BORNAGAIN_GUI_ITEMS_MATERIALITEMCONTAINER_H
+#ifndef BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEMCONTAINER_H
+#define BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEMCONTAINER_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class MaterialItem;
 
@@ -38,4 +38,4 @@ public:
     QVector<MaterialItem*> getMaterials();
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_MATERIALITEMCONTAINER_H
+#endif // BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEMCONTAINER_H
diff --git a/GUI/Items/MaterialItemUtils.cpp b/GUI/Models/Material/MaterialItemUtils.cpp
similarity index 90%
rename from GUI/Items/MaterialItemUtils.cpp
rename to GUI/Models/Material/MaterialItemUtils.cpp
index cb75573c515..8fb2359f717 100644
--- a/GUI/Items/MaterialItemUtils.cpp
+++ b/GUI/Models/Material/MaterialItemUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialItemUtils.cpp
+//! @file      GUI/Models/Material/MaterialItemUtils.cpp
 //! @brief     Implements class MaterialItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MaterialItemContainer.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Material/MaterialItemContainer.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "GUI/Models/Material/MaterialModelStore.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/MaterialItemUtils.h b/GUI/Models/Material/MaterialItemUtils.h
similarity index 83%
rename from GUI/Items/MaterialItemUtils.h
rename to GUI/Models/Material/MaterialItemUtils.h
index 5b85cb85765..67523f6a7f7 100644
--- a/GUI/Items/MaterialItemUtils.h
+++ b/GUI/Models/Material/MaterialItemUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MaterialItemUtils.h
+//! @file      GUI/Models/Material/MaterialItemUtils.h
 //! @brief     Defines namespace GUI::Model::MaterialItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MATERIALITEMUTILS_H
-#define BORNAGAIN_GUI_ITEMS_MATERIALITEMUTILS_H
+#ifndef BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEMUTILS_H
+#define BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEMUTILS_H
 
-#include "GUI/Items/MaterialItem.h"
+#include "GUI/Models/Material/MaterialItem.h"
 #include <QColor>
 #include <QString>
 #include <memory>
@@ -43,4 +43,4 @@ QVector<ItemWithMaterial*> itemsWithMaterial(ParticleLayoutItem* item);
 
 } // namespace GUI::Model::MaterialItemUtils
 
-#endif // BORNAGAIN_GUI_ITEMS_MATERIALITEMUTILS_H
+#endif // BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALITEMUTILS_H
diff --git a/GUI/Models/Material/MaterialModel.cpp b/GUI/Models/Material/MaterialModel.cpp
index ebdba485f6b..6c75ba6aa68 100644
--- a/GUI/Models/Material/MaterialModel.cpp
+++ b/GUI/Models/Material/MaterialModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Material/MaterialModel.h"
-#include "GUI/Items/MaterialItemUtils.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
 #include "GUI/Models/Material/MaterialModelStore.h"
 #include "GUI/utils/Helpers.h"
 
diff --git a/GUI/Models/Material/MaterialModel.h b/GUI/Models/Material/MaterialModel.h
index 3e905a5fd99..2610651b316 100644
--- a/GUI/Models/Material/MaterialModel.h
+++ b/GUI/Models/Material/MaterialModel.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALMODEL_H
 #define BORNAGAIN_GUI_MODELS_MATERIAL_MATERIALMODEL_H
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 
 class MaterialItem;
 
diff --git a/GUI/Models/Parameter/FilterPropertyProxy.cpp b/GUI/Models/Parameter/FilterPropertyProxy.cpp
index f90c65b575f..175fe7ee2d5 100644
--- a/GUI/Models/Parameter/FilterPropertyProxy.cpp
+++ b/GUI/Models/Parameter/FilterPropertyProxy.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Parameter/FilterPropertyProxy.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 
 int FilterPropertyProxy::columnCount(const QModelIndex& parent) const
 {
diff --git a/GUI/Items/ParameterTreeItems.cpp b/GUI/Models/Parameter/ParameterTreeItems.cpp
similarity index 91%
rename from GUI/Items/ParameterTreeItems.cpp
rename to GUI/Models/Parameter/ParameterTreeItems.cpp
index 600c01b7910..b4a4ecfe38a 100644
--- a/GUI/Items/ParameterTreeItems.cpp
+++ b/GUI/Models/Parameter/ParameterTreeItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParameterTreeItems.cpp
+//! @file      GUI/Models/Parameter/ParameterTreeItems.cpp
 //! @brief     Implements classes for ParameterTreeItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Job/FitParameterHelper.h"
 
 // ----------------------------------------------------------------------------
diff --git a/GUI/Items/ParameterTreeItems.h b/GUI/Models/Parameter/ParameterTreeItems.h
similarity index 86%
rename from GUI/Items/ParameterTreeItems.h
rename to GUI/Models/Parameter/ParameterTreeItems.h
index 9e2dc59ce0c..13fa10873cd 100644
--- a/GUI/Items/ParameterTreeItems.h
+++ b/GUI/Models/Parameter/ParameterTreeItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParameterTreeItems.h
+//! @file      GUI/Models/Parameter/ParameterTreeItems.h
 //! @brief     Defines classes for ParameterTreeItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_PARAMETERTREEITEMS_H
-#define BORNAGAIN_GUI_ITEMS_PARAMETERTREEITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_PARAMETER_PARAMETERTREEITEMS_H
+#define BORNAGAIN_GUI_MODELS_PARAMETER_PARAMETERTREEITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 //! ParameterTreeItems is a collection of items necessary to form a tuning tree for
 //! real time widget.
@@ -60,4 +60,4 @@ public:
     ParameterContainerItem();
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_PARAMETERTREEITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_PARAMETER_PARAMETERTREEITEMS_H
diff --git a/GUI/Models/Parameter/ParameterTuningModel.cpp b/GUI/Models/Parameter/ParameterTuningModel.cpp
index 593ed95caac..2e96a378388 100644
--- a/GUI/Models/Parameter/ParameterTuningModel.cpp
+++ b/GUI/Models/Parameter/ParameterTuningModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Parameter/ParameterTuningModel.h"
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Job/FitParameterHelper.h"
 #include <QMimeData>
 
diff --git a/GUI/Models/Project/LinkInstrumentManager.cpp b/GUI/Models/Project/LinkInstrumentManager.cpp
index d5b93bcc19f..860ae449d95 100644
--- a/GUI/Models/Project/LinkInstrumentManager.cpp
+++ b/GUI/Models/Project/LinkInstrumentManager.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Project/LinkInstrumentManager.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include <QMessageBox>
diff --git a/GUI/Models/Project/OutputDataIOService.cpp b/GUI/Models/Project/OutputDataIOService.cpp
index 2b0e8eb5f22..7e7d4d4715d 100644
--- a/GUI/Models/Project/OutputDataIOService.cpp
+++ b/GUI/Models/Project/OutputDataIOService.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Project/OutputDataIOService.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/ModelPath.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Project/ProjectUtils.h"
 #include "GUI/utils/MessageService.h"
diff --git a/GUI/Items/FTDecayFunctionItems.cpp b/GUI/Models/Sample/FTDecayFunctionItems.cpp
similarity index 98%
rename from GUI/Items/FTDecayFunctionItems.cpp
rename to GUI/Models/Sample/FTDecayFunctionItems.cpp
index 6e298ebc4ec..7e98dd5d87e 100644
--- a/GUI/Items/FTDecayFunctionItems.cpp
+++ b/GUI/Models/Sample/FTDecayFunctionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FTDecayFunctionItems.cpp
+//! @file      GUI/Models/Sample/FTDecayFunctionItems.cpp
 //! @brief     Implements FTDecayFunction1DItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/FTDecayFunctionItems.h"
+#include "GUI/Models/Sample/FTDecayFunctionItems.h"
 #include "Base/Const/Units.h"
 
 // --------------------------------------------------------------------------------------------- //
diff --git a/GUI/Items/FTDecayFunctionItems.h b/GUI/Models/Sample/FTDecayFunctionItems.h
similarity index 93%
rename from GUI/Items/FTDecayFunctionItems.h
rename to GUI/Models/Sample/FTDecayFunctionItems.h
index b91896914a7..b17067e4148 100644
--- a/GUI/Items/FTDecayFunctionItems.h
+++ b/GUI/Models/Sample/FTDecayFunctionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FTDecayFunctionItems.h
+//! @file      GUI/Models/Sample/FTDecayFunctionItems.h
 //! @brief     Defines FTDecayFunction1DItem classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_FTDECAYFUNCTIONITEMS_H
-#define BORNAGAIN_GUI_ITEMS_FTDECAYFUNCTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_FTDECAYFUNCTIONITEMS_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_FTDECAYFUNCTIONITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "Sample/Correlations/FTDecay1D.h"
 #include "Sample/Correlations/FTDecay2D.h"
@@ -131,4 +131,4 @@ public:
     void setEta(double eta);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_FTDECAYFUNCTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_FTDECAYFUNCTIONITEMS_H
diff --git a/GUI/Items/FTDistributionItems.cpp b/GUI/Models/Sample/FTDistributionItems.cpp
similarity index 98%
rename from GUI/Items/FTDistributionItems.cpp
rename to GUI/Models/Sample/FTDistributionItems.cpp
index c09576c0e67..5870df79dcf 100644
--- a/GUI/Items/FTDistributionItems.cpp
+++ b/GUI/Models/Sample/FTDistributionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FTDistributionItems.cpp
+//! @file      GUI/Models/Sample/FTDistributionItems.cpp
 //! @brief     Implements FTDistribution1DItem's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/FTDistributionItems.h"
+#include "GUI/Models/Sample/FTDistributionItems.h"
 #include "Base/Const/Units.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 
diff --git a/GUI/Items/FTDistributionItems.h b/GUI/Models/Sample/FTDistributionItems.h
similarity index 94%
rename from GUI/Items/FTDistributionItems.h
rename to GUI/Models/Sample/FTDistributionItems.h
index 2fc9c953336..debf0655177 100644
--- a/GUI/Items/FTDistributionItems.h
+++ b/GUI/Models/Sample/FTDistributionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FTDistributionItems.h
+//! @file      GUI/Models/Sample/FTDistributionItems.h
 //! @brief     Defines FTDistribution1DItem's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_FTDISTRIBUTIONITEMS_H
-#define BORNAGAIN_GUI_ITEMS_FTDISTRIBUTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_FTDISTRIBUTIONITEMS_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_FTDISTRIBUTIONITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "Sample/Correlations/FTDistributions1D.h"
 #include "Sample/Correlations/FTDistributions2D.h"
@@ -162,4 +162,4 @@ public:
     void setEta(double eta);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_FTDISTRIBUTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_FTDISTRIBUTIONITEMS_H
diff --git a/GUI/Items/FormFactorItems.cpp b/GUI/Models/Sample/FormFactorItems.cpp
similarity index 99%
rename from GUI/Items/FormFactorItems.cpp
rename to GUI/Models/Sample/FormFactorItems.cpp
index d2b1ccf4997..de9527b0900 100644
--- a/GUI/Items/FormFactorItems.cpp
+++ b/GUI/Models/Sample/FormFactorItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FormFactorItems.cpp
+//! @file      GUI/Models/Sample/FormFactorItems.cpp
 //! @brief     Implements FormFactorItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/FormFactorItems.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
 #include "Base/Const/Units.h"
 #include "GUI/Models/Group/GroupInfo.h"
 #include "Sample/HardParticle/HardParticles.h"
diff --git a/GUI/Items/FormFactorItems.h b/GUI/Models/Sample/FormFactorItems.h
similarity index 98%
rename from GUI/Items/FormFactorItems.h
rename to GUI/Models/Sample/FormFactorItems.h
index 0f4b4d50a2f..c4139bdd0aa 100644
--- a/GUI/Items/FormFactorItems.h
+++ b/GUI/Models/Sample/FormFactorItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/FormFactorItems.h
+//! @file      GUI/Models/Sample/FormFactorItems.h
 //! @brief     Defines FormFactorItems classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_FORMFACTORITEMS_H
-#define BORNAGAIN_GUI_ITEMS_FORMFACTORITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_FORMFACTORITEMS_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_FORMFACTORITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 
 class IFormFactor;
@@ -702,4 +702,4 @@ public:
 /// get a group info containing all form factors
 GroupInfo formFactorGroupInfo();
 
-#endif // BORNAGAIN_GUI_ITEMS_FORMFACTORITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_FORMFACTORITEMS_H
diff --git a/GUI/Models/Sample/GUIDomainSampleVisitor.cpp b/GUI/Models/Sample/GUIDomainSampleVisitor.cpp
index bc1adbbbeac..21d25bdd8d2 100644
--- a/GUI/Models/Sample/GUIDomainSampleVisitor.cpp
+++ b/GUI/Models/Sample/GUIDomainSampleVisitor.cpp
@@ -14,19 +14,19 @@
 
 #include "GUI/Models/Sample/GUIDomainSampleVisitor.h"
 #include "Base/Const/Units.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/RotationItems.h"
-#include "GUI/Items/TransformationItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Trafo/RotationItems.h"
+#include "GUI/Models/Trafo/TransformationItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Domain/TransformFromDomain.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "GUI/Models/Sample/SampleModel.h"
diff --git a/GUI/Items/InterferenceItems.cpp b/GUI/Models/Sample/InterferenceItems.cpp
similarity index 98%
rename from GUI/Items/InterferenceItems.cpp
rename to GUI/Models/Sample/InterferenceItems.cpp
index 72bda46847b..9c3c8a68f07 100644
--- a/GUI/Items/InterferenceItems.cpp
+++ b/GUI/Models/Sample/InterferenceItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/InterferenceItems.cpp
+//! @file      GUI/Models/Sample/InterferenceItems.cpp
 //! @brief     Implements InterferenceItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/InterferenceItems.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
 #include "Base/Const/Units.h"
-#include "GUI/Items/FTDecayFunctionItems.h"
-#include "GUI/Items/FTDistributionItems.h"
-#include "GUI/Items/Lattice2DItems.h"
+#include "GUI/Models/Sample/FTDecayFunctionItems.h"
+#include "GUI/Models/Sample/FTDistributionItems.h"
+#include "GUI/Models/Sample/Lattice2DItems.h"
 #include "Sample/Aggregate/Interferences.h"
 
 // TODO (when back compatibility will be broken  again)
diff --git a/GUI/Items/InterferenceItems.h b/GUI/Models/Sample/InterferenceItems.h
similarity index 96%
rename from GUI/Items/InterferenceItems.h
rename to GUI/Models/Sample/InterferenceItems.h
index 9839e0414ec..c5f8ef4f92d 100644
--- a/GUI/Items/InterferenceItems.h
+++ b/GUI/Models/Sample/InterferenceItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/InterferenceItems.h
+//! @file      GUI/Models/Sample/InterferenceItems.h
 //! @brief     Defines InterferenceItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_INTERFERENCEITEMS_H
-#define BORNAGAIN_GUI_ITEMS_INTERFERENCEITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_INTERFERENCEITEMS_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_INTERFERENCEITEMS_H
 
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 #include "GUI/Models/Group/SelectionDescriptor.h"
 
 class FTDecayFunction1DItem;
@@ -221,4 +221,4 @@ template <typename T> T* InterferenceRadialParaCrystalItem::setPDFType()
     return setGroupPropertyType<T>(P_PDF);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_INTERFERENCEITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_INTERFERENCEITEMS_H
diff --git a/GUI/Items/ItemWithParticles.cpp b/GUI/Models/Sample/ItemWithParticles.cpp
similarity index 93%
rename from GUI/Items/ItemWithParticles.cpp
rename to GUI/Models/Sample/ItemWithParticles.cpp
index 586059f9e33..ae24919a572 100644
--- a/GUI/Items/ItemWithParticles.cpp
+++ b/GUI/Models/Sample/ItemWithParticles.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemWithParticles.cpp
+//! @file      GUI/Models/Sample/ItemWithParticles.cpp
 //! @brief     Implements class ItemWithParticles
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ItemWithParticles.h"
+#include "GUI/Models/Sample/ItemWithParticles.h"
 #include "Base/Vector/Transform3D.h"
-#include "GUI/Items/RotationItems.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/TransformationItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Trafo/RotationItems.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Trafo/TransformationItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 
 DoubleDescriptor ItemWithParticles::abundance() const
diff --git a/GUI/Items/ItemWithParticles.h b/GUI/Models/Sample/ItemWithParticles.h
similarity index 88%
rename from GUI/Items/ItemWithParticles.h
rename to GUI/Models/Sample/ItemWithParticles.h
index bf04fb3f71e..7a6e1ba38a8 100644
--- a/GUI/Items/ItemWithParticles.h
+++ b/GUI/Models/Sample/ItemWithParticles.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemWithParticles.h
+//! @file      GUI/Models/Sample/ItemWithParticles.h
 //! @brief     Defines abstract item with a material property
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_ITEMWITHPARTICLES_H
-#define BORNAGAIN_GUI_ITEMS_ITEMWITHPARTICLES_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_ITEMWITHPARTICLES_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_ITEMWITHPARTICLES_H
 
 #include "Base/Vector/Vectors3D.h"
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 #include "GUI/Models/Group/SelectionDescriptor.h"
 
 class RotationItem;
@@ -66,4 +66,4 @@ private:
     RotationItem* rotationItem() const;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_ITEMWITHPARTICLES_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_ITEMWITHPARTICLES_H
diff --git a/GUI/Items/Lattice2DItems.cpp b/GUI/Models/Sample/Lattice2DItems.cpp
similarity index 97%
rename from GUI/Items/Lattice2DItems.cpp
rename to GUI/Models/Sample/Lattice2DItems.cpp
index 63df18e67b7..7601aabd1aa 100644
--- a/GUI/Items/Lattice2DItems.cpp
+++ b/GUI/Models/Sample/Lattice2DItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/Lattice2DItems.cpp
+//! @file      GUI/Models/Sample/Lattice2DItems.cpp
 //! @brief     Implements classes Lattice2DItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/Lattice2DItems.h"
+#include "GUI/Models/Sample/Lattice2DItems.h"
 #include "Base/Const/Units.h"
 #include "Sample/Lattice/Lattice2D.h"
 
diff --git a/GUI/Items/Lattice2DItems.h b/GUI/Models/Sample/Lattice2DItems.h
similarity index 89%
rename from GUI/Items/Lattice2DItems.h
rename to GUI/Models/Sample/Lattice2DItems.h
index 392320f130d..6fb8e8c025f 100644
--- a/GUI/Items/Lattice2DItems.h
+++ b/GUI/Models/Sample/Lattice2DItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/Lattice2DItems.h
+//! @file      GUI/Models/Sample/Lattice2DItems.h
 //! @brief     Defines classes Lattice2DItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_LATTICE2DITEMS_H
-#define BORNAGAIN_GUI_ITEMS_LATTICE2DITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_LATTICE2DITEMS_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_LATTICE2DITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 class Lattice2D;
 
 class Lattice2DItem : public SessionItem {
@@ -82,4 +82,4 @@ public:
     void setLatticeLength(double length);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_LATTICE2DITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_LATTICE2DITEMS_H
diff --git a/GUI/Items/LayerItem.cpp b/GUI/Models/Sample/LayerItem.cpp
similarity index 93%
rename from GUI/Items/LayerItem.cpp
rename to GUI/Models/Sample/LayerItem.cpp
index 59ba149c1ed..343eded90ac 100644
--- a/GUI/Items/LayerItem.cpp
+++ b/GUI/Models/Sample/LayerItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/LayerItem.cpp
+//! @file      GUI/Models/Sample/LayerItem.cpp
 //! @brief     Implements class LayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/LayerRoughnessItems.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Group/GroupInfo.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "GUI/Models/Types/UIntDescriptor.h"
diff --git a/GUI/Items/LayerItem.h b/GUI/Models/Sample/LayerItem.h
similarity index 91%
rename from GUI/Items/LayerItem.h
rename to GUI/Models/Sample/LayerItem.h
index 17a60270916..ef2a966b4ca 100644
--- a/GUI/Items/LayerItem.h
+++ b/GUI/Models/Sample/LayerItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/LayerItem.h
+//! @file      GUI/Models/Sample/LayerItem.h
 //! @brief     Defines class LayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_LAYERITEM_H
-#define BORNAGAIN_GUI_ITEMS_LAYERITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_LAYERITEM_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_LAYERITEM_H
 
-#include "GUI/Items/ItemWithMaterial.h"
+#include "GUI/Models/Varia/ItemWithMaterial.h"
 #include "GUI/Models/Group/SelectionDescriptor.h"
 #include <variant>
 
@@ -78,4 +78,4 @@ template <typename T> T* LayerItem::setRoughnessType()
     return setGroupPropertyType<T>(P_ROUGHNESS);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_LAYERITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_LAYERITEM_H
diff --git a/GUI/Items/LayerRoughnessItems.cpp b/GUI/Models/Sample/LayerRoughnessItems.cpp
similarity index 95%
rename from GUI/Items/LayerRoughnessItems.cpp
rename to GUI/Models/Sample/LayerRoughnessItems.cpp
index 3cbed6ce710..9ea8b3b2f95 100644
--- a/GUI/Items/LayerRoughnessItems.cpp
+++ b/GUI/Models/Sample/LayerRoughnessItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/LayerRoughnessItems.cpp
+//! @file      GUI/Models/Sample/LayerRoughnessItems.cpp
 //! @brief     Implements classes LayerRoughnessItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/LayerRoughnessItems.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 
 namespace {
diff --git a/GUI/Items/LayerRoughnessItems.h b/GUI/Models/Sample/LayerRoughnessItems.h
similarity index 81%
rename from GUI/Items/LayerRoughnessItems.h
rename to GUI/Models/Sample/LayerRoughnessItems.h
index fe8db0bd877..dd79a50eef8 100644
--- a/GUI/Items/LayerRoughnessItems.h
+++ b/GUI/Models/Sample/LayerRoughnessItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/LayerRoughnessItems.h
+//! @file      GUI/Models/Sample/LayerRoughnessItems.h
 //! @brief     Defines classes LayerRoughnessItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_LAYERROUGHNESSITEMS_H
-#define BORNAGAIN_GUI_ITEMS_LAYERROUGHNESSITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_LAYERROUGHNESSITEMS_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_LAYERROUGHNESSITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class DoubleDescriptor;
 
@@ -42,4 +42,4 @@ public:
     DoubleDescriptor lateralCorrelationLength() const;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_LAYERROUGHNESSITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_LAYERROUGHNESSITEMS_H
diff --git a/GUI/Items/MesoCrystalItem.cpp b/GUI/Models/Sample/MesoCrystalItem.cpp
similarity index 94%
rename from GUI/Items/MesoCrystalItem.cpp
rename to GUI/Models/Sample/MesoCrystalItem.cpp
index 84b6ad893a2..3dc87a4d5fb 100644
--- a/GUI/Items/MesoCrystalItem.cpp
+++ b/GUI/Models/Sample/MesoCrystalItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MesoCrystalItem.cpp
+//! @file      GUI/Models/Sample/MesoCrystalItem.cpp
 //! @brief     Implements class MesoCrystalItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/MesoCrystalItem.h b/GUI/Models/Sample/MesoCrystalItem.h
similarity index 88%
rename from GUI/Items/MesoCrystalItem.h
rename to GUI/Models/Sample/MesoCrystalItem.h
index 961db6a460d..f3e0f0d93be 100644
--- a/GUI/Items/MesoCrystalItem.h
+++ b/GUI/Models/Sample/MesoCrystalItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MesoCrystalItem.h
+//! @file      GUI/Models/Sample/MesoCrystalItem.h
 //! @brief     Defines class MesoCrystalItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MESOCRYSTALITEM_H
-#define BORNAGAIN_GUI_ITEMS_MESOCRYSTALITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_MESOCRYSTALITEM_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_MESOCRYSTALITEM_H
 
 #include "Base/Vector/Vectors3D.h"
-#include "GUI/Items/ItemWithParticles.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Sample/ItemWithParticles.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "Sample/Lattice/Lattice3D.h"
 
 class FormFactorItem;
@@ -81,4 +81,4 @@ template <typename T> T* MesoCrystalItem::createBasis()
     return model()->insertItem<T>(this, -1, T_BASIS_PARTICLE);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_MESOCRYSTALITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_MESOCRYSTALITEM_H
diff --git a/GUI/Items/MultiLayerItem.cpp b/GUI/Models/Sample/MultiLayerItem.cpp
similarity index 95%
rename from GUI/Items/MultiLayerItem.cpp
rename to GUI/Models/Sample/MultiLayerItem.cpp
index 1be1a0c2b67..a833a782ab1 100644
--- a/GUI/Items/MultiLayerItem.cpp
+++ b/GUI/Models/Sample/MultiLayerItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MultiLayerItem.cpp
+//! @file      GUI/Models/Sample/MultiLayerItem.cpp
 //! @brief     Implements class MultiLayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 
 namespace {
diff --git a/GUI/Items/MultiLayerItem.h b/GUI/Models/Sample/MultiLayerItem.h
similarity index 88%
rename from GUI/Items/MultiLayerItem.h
rename to GUI/Models/Sample/MultiLayerItem.h
index 45fae497902..353d49e5641 100644
--- a/GUI/Items/MultiLayerItem.h
+++ b/GUI/Models/Sample/MultiLayerItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/MultiLayerItem.h
+//! @file      GUI/Models/Sample/MultiLayerItem.h
 //! @brief     Defines class MultiLayerItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MULTILAYERITEM_H
-#define BORNAGAIN_GUI_ITEMS_MULTILAYERITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_MULTILAYERITEM_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_MULTILAYERITEM_H
 
 #include "Base/Vector/Vectors3D.h"
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 
 class LayerItem;
 class ItemWithMaterial;
@@ -63,4 +63,4 @@ private:
     void updateLayers();
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_MULTILAYERITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_MULTILAYERITEM_H
diff --git a/GUI/Items/ParticleCompositionItem.cpp b/GUI/Models/Sample/ParticleCompositionItem.cpp
similarity index 90%
rename from GUI/Items/ParticleCompositionItem.cpp
rename to GUI/Models/Sample/ParticleCompositionItem.cpp
index 2ab5f0a0bae..58dda136f4a 100644
--- a/GUI/Items/ParticleCompositionItem.cpp
+++ b/GUI/Models/Sample/ParticleCompositionItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleCompositionItem.cpp
+//! @file      GUI/Models/Sample/ParticleCompositionItem.cpp
 //! @brief     Implements class ParticleCompositionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,13 +12,13 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "Sample/Particle/MesoCrystal.h"
diff --git a/GUI/Items/ParticleCompositionItem.h b/GUI/Models/Sample/ParticleCompositionItem.h
similarity index 78%
rename from GUI/Items/ParticleCompositionItem.h
rename to GUI/Models/Sample/ParticleCompositionItem.h
index a9b4fe64c8f..35c6462aa86 100644
--- a/GUI/Items/ParticleCompositionItem.h
+++ b/GUI/Models/Sample/ParticleCompositionItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleCompositionItem.h
+//! @file      GUI/Models/Sample/ParticleCompositionItem.h
 //! @brief     Defines class ParticleCompositionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_PARTICLECOMPOSITIONITEM_H
-#define BORNAGAIN_GUI_ITEMS_PARTICLECOMPOSITIONITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLECOMPOSITIONITEM_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLECOMPOSITIONITEM_H
 
-#include "GUI/Items/ItemWithParticles.h"
+#include "GUI/Models/Sample/ItemWithParticles.h"
 #include "Sample/Particle/ParticleComposition.h"
 
 class VectorItem;
@@ -36,4 +36,4 @@ public:
     void removeParticle(ItemWithParticles* particle);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_PARTICLECOMPOSITIONITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLECOMPOSITIONITEM_H
diff --git a/GUI/Items/ParticleCoreShellItem.cpp b/GUI/Models/Sample/ParticleCoreShellItem.cpp
similarity index 91%
rename from GUI/Items/ParticleCoreShellItem.cpp
rename to GUI/Models/Sample/ParticleCoreShellItem.cpp
index 4c7ab66f9b4..e261f70d0fa 100644
--- a/GUI/Items/ParticleCoreShellItem.cpp
+++ b/GUI/Models/Sample/ParticleCoreShellItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleCoreShellItem.cpp
+//! @file      GUI/Models/Sample/ParticleCoreShellItem.cpp
 //! @brief     Implements class ParticleCoreShellItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/ParticleCoreShellItem.h b/GUI/Models/Sample/ParticleCoreShellItem.h
similarity index 81%
rename from GUI/Items/ParticleCoreShellItem.h
rename to GUI/Models/Sample/ParticleCoreShellItem.h
index f5ba427c14e..1eab32ee886 100644
--- a/GUI/Items/ParticleCoreShellItem.h
+++ b/GUI/Models/Sample/ParticleCoreShellItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleCoreShellItem.h
+//! @file      GUI/Models/Sample/ParticleCoreShellItem.h
 //! @brief     Defines class ParticleCoreShellItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_PARTICLECORESHELLITEM_H
-#define BORNAGAIN_GUI_ITEMS_PARTICLECORESHELLITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLECORESHELLITEM_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLECORESHELLITEM_H
 
-#include "GUI/Items/ItemWithParticles.h"
+#include "GUI/Models/Sample/ItemWithParticles.h"
 
 class ParticleCoreShell;
 class ParticleItem;
@@ -44,4 +44,4 @@ public:
     static bool isShellTagName(const QString& name);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_PARTICLECORESHELLITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLECORESHELLITEM_H
diff --git a/GUI/Items/ParticleItem.cpp b/GUI/Models/Sample/ParticleItem.cpp
similarity index 86%
rename from GUI/Items/ParticleItem.cpp
rename to GUI/Models/Sample/ParticleItem.cpp
index 5ca7c00a8ae..4b91a11be63 100644
--- a/GUI/Items/ParticleItem.cpp
+++ b/GUI/Models/Sample/ParticleItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleItem.cpp
+//! @file      GUI/Models/Sample/ParticleItem.cpp
 //! @brief     Implements class ParticleItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "Sample/Particle/Particle.h"
 #include "Sample/Scattering/IFormFactor.h"
diff --git a/GUI/Items/ParticleItem.h b/GUI/Models/Sample/ParticleItem.h
similarity index 83%
rename from GUI/Items/ParticleItem.h
rename to GUI/Models/Sample/ParticleItem.h
index 6cb19470dd0..53909dc6c1b 100644
--- a/GUI/Items/ParticleItem.h
+++ b/GUI/Models/Sample/ParticleItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleItem.h
+//! @file      GUI/Models/Sample/ParticleItem.h
 //! @brief     Defines class ParticleItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_PARTICLEITEM_H
-#define BORNAGAIN_GUI_ITEMS_PARTICLEITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLEITEM_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLEITEM_H
 
-#include "GUI/Items/ItemWithMaterial.h"
-#include "GUI/Items/ItemWithParticles.h"
+#include "GUI/Models/Varia/ItemWithMaterial.h"
+#include "GUI/Models/Sample/ItemWithParticles.h"
 
 class FormFactorItem;
 class GroupItem;
@@ -53,4 +53,4 @@ template <typename T> T* ParticleItem::setFormFactorType()
     return setGroupPropertyType<T>(P_FORM_FACTOR);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_PARTICLEITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLEITEM_H
diff --git a/GUI/Items/ParticleLayoutItem.cpp b/GUI/Models/Sample/ParticleLayoutItem.cpp
similarity index 93%
rename from GUI/Items/ParticleLayoutItem.cpp
rename to GUI/Models/Sample/ParticleLayoutItem.cpp
index f64a4bad40a..ae16749b13a 100644
--- a/GUI/Items/ParticleLayoutItem.cpp
+++ b/GUI/Models/Sample/ParticleLayoutItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleLayoutItem.cpp
+//! @file      GUI/Models/Sample/ParticleLayoutItem.cpp
 //! @brief     Implements class ParticleLayoutItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,15 +12,15 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/ItemCatalog.h"
-#include "GUI/Items/Lattice2DItems.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Varia/ItemCatalog.h"
+#include "GUI/Models/Sample/Lattice2DItems.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 
 namespace {
diff --git a/GUI/Items/ParticleLayoutItem.h b/GUI/Models/Sample/ParticleLayoutItem.h
similarity index 85%
rename from GUI/Items/ParticleLayoutItem.h
rename to GUI/Models/Sample/ParticleLayoutItem.h
index 7bd8a7087eb..50e608e0424 100644
--- a/GUI/Items/ParticleLayoutItem.h
+++ b/GUI/Models/Sample/ParticleLayoutItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ParticleLayoutItem.h
+//! @file      GUI/Models/Sample/ParticleLayoutItem.h
 //! @brief     Defines class ParticleLayoutItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_PARTICLELAYOUTITEM_H
-#define BORNAGAIN_GUI_ITEMS_PARTICLELAYOUTITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLELAYOUTITEM_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLELAYOUTITEM_H
 
-#include "GUI/Items/SessionGraphicsItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Group/SelectionDescriptor.h"
 
 class InterferenceItem;
@@ -59,4 +59,4 @@ template <typename T> T* ParticleLayoutItem::createInterference()
     return model()->insertItem<T>(this, -1, T_INTERFERENCE);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_PARTICLELAYOUTITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_PARTICLELAYOUTITEM_H
diff --git a/GUI/Items/ResolutionFunctionItems.cpp b/GUI/Models/Sample/ResolutionFunctionItems.cpp
similarity index 95%
rename from GUI/Items/ResolutionFunctionItems.cpp
rename to GUI/Models/Sample/ResolutionFunctionItems.cpp
index 609a067a48a..e37186f6ea5 100644
--- a/GUI/Items/ResolutionFunctionItems.cpp
+++ b/GUI/Models/Sample/ResolutionFunctionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ResolutionFunctionItems.cpp
+//! @file      GUI/Models/Sample/ResolutionFunctionItems.cpp
 //! @brief     Implements family of ResolutionFunctionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ResolutionFunctionItems.h"
+#include "GUI/Models/Sample/ResolutionFunctionItems.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 
 ResolutionFunctionItem::ResolutionFunctionItem(const QString& name) : SessionItem(name) {}
diff --git a/GUI/Items/ResolutionFunctionItems.h b/GUI/Models/Sample/ResolutionFunctionItems.h
similarity index 85%
rename from GUI/Items/ResolutionFunctionItems.h
rename to GUI/Models/Sample/ResolutionFunctionItems.h
index f71ae177c5b..680885319d9 100644
--- a/GUI/Items/ResolutionFunctionItems.h
+++ b/GUI/Models/Sample/ResolutionFunctionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ResolutionFunctionItems.h
+//! @file      GUI/Models/Sample/ResolutionFunctionItems.h
 //! @brief     Defines family of ResolutionFunctionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_RESOLUTIONFUNCTIONITEMS_H
-#define BORNAGAIN_GUI_ITEMS_RESOLUTIONFUNCTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_SAMPLE_RESOLUTIONFUNCTIONITEMS_H
+#define BORNAGAIN_GUI_MODELS_SAMPLE_RESOLUTIONFUNCTIONITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include <memory>
 
 class IResolutionFunction2D;
@@ -61,4 +61,4 @@ public:
     void setSigmaY(double sigma_y);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_RESOLUTIONFUNCTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_SAMPLE_RESOLUTIONFUNCTIONITEMS_H
diff --git a/GUI/Models/Sample/SampleListModel.cpp b/GUI/Models/Sample/SampleListModel.cpp
index 770d9335df2..dcf30b46eab 100644
--- a/GUI/Models/Sample/SampleListModel.cpp
+++ b/GUI/Models/Sample/SampleListModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Sample/SampleListModel.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Mapper/ModelUtils.h"
 #include "GUI/Models/Sample/GUIExamplesFactory.h"
 #include "GUI/Models/Sample/SampleModel.h"
diff --git a/GUI/Models/Sample/SampleModel.cpp b/GUI/Models/Sample/SampleModel.cpp
index 9e7497af397..97f8e1c9ceb 100644
--- a/GUI/Models/Sample/SampleModel.cpp
+++ b/GUI/Models/Sample/SampleModel.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Sample/SampleModel.h"
-#include "GUI/Items/ItemWithMaterial.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/PropertyItem.h"
+#include "GUI/Models/Varia/ItemWithMaterial.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
 #include "GUI/Mapper/ModelUtils.h"
 #include <QApplication>
 #include <QFontMetrics>
diff --git a/GUI/Models/Sample/SampleModel.h b/GUI/Models/Sample/SampleModel.h
index 54c770841b2..ffd39aa1f9e 100644
--- a/GUI/Models/Sample/SampleModel.h
+++ b/GUI/Models/Sample/SampleModel.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_SAMPLE_SAMPLEMODEL_H
 #define BORNAGAIN_GUI_MODELS_SAMPLE_SAMPLEMODEL_H
 
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 
 class MultiLayerItem;
 class ItemWithMaterial;
diff --git a/GUI/Models/Sample/SampleValidator.cpp b/GUI/Models/Sample/SampleValidator.cpp
index 6ceb8403cd8..43d471cdcde 100644
--- a/GUI/Models/Sample/SampleValidator.cpp
+++ b/GUI/Models/Sample/SampleValidator.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Sample/SampleValidator.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 
 #include <boost/polymorphic_cast.hpp>
 using boost::polymorphic_cast;
diff --git a/GUI/Items/SessionDecorationModel.cpp b/GUI/Models/Session/SessionDecorationModel.cpp
similarity index 93%
rename from GUI/Items/SessionDecorationModel.cpp
rename to GUI/Models/Session/SessionDecorationModel.cpp
index 8079db8f33b..3d187425ad0 100644
--- a/GUI/Items/SessionDecorationModel.cpp
+++ b/GUI/Models/Session/SessionDecorationModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionDecorationModel.cpp
+//! @file      GUI/Models/Session/SessionDecorationModel.cpp
 //! @brief     Defines class SessionDecorationModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionDecorationModel.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionDecorationModel.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include <QColor>
 #include <QIcon>
 #include <QPixmap>
diff --git a/GUI/Items/SessionDecorationModel.h b/GUI/Models/Session/SessionDecorationModel.h
similarity index 83%
rename from GUI/Items/SessionDecorationModel.h
rename to GUI/Models/Session/SessionDecorationModel.h
index c890577169a..351704ac595 100644
--- a/GUI/Items/SessionDecorationModel.h
+++ b/GUI/Models/Session/SessionDecorationModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionDecorationModel.h
+//! @file      GUI/Models/Session/SessionDecorationModel.h
 //! @brief     Defines class SessionDecorationModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONDECORATIONMODEL_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONDECORATIONMODEL_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONDECORATIONMODEL_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONDECORATIONMODEL_H
 
 #include <QIdentityProxyModel>
 
@@ -40,4 +40,4 @@ private:
     SessionModel* m_model;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONDECORATIONMODEL_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONDECORATIONMODEL_H
diff --git a/GUI/Items/SessionFlags.h b/GUI/Models/Session/SessionFlags.h
similarity index 87%
rename from GUI/Items/SessionFlags.h
rename to GUI/Models/Session/SessionFlags.h
index 2904b706d1e..99ffe8a2aae 100644
--- a/GUI/Items/SessionFlags.h
+++ b/GUI/Models/Session/SessionFlags.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionFlags.h
+//! @file      GUI/Models/Session/SessionFlags.h
 //! @brief     Defines class SessionFlags
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONFLAGS_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONFLAGS_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONFLAGS_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONFLAGS_H
 
 #include <qnamespace.h>
 
@@ -47,4 +47,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(SessionFlags::ModelColumn)
 Q_DECLARE_OPERATORS_FOR_FLAGS(SessionFlags::ItemDataRole)
 Q_DECLARE_OPERATORS_FOR_FLAGS(SessionFlags::ItemAppearance)
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONFLAGS_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONFLAGS_H
diff --git a/GUI/Items/SessionGraphicsItem.cpp b/GUI/Models/Session/SessionGraphicsItem.cpp
similarity index 92%
rename from GUI/Items/SessionGraphicsItem.cpp
rename to GUI/Models/Session/SessionGraphicsItem.cpp
index c8a2b9a7a08..5c3a2a5cb19 100644
--- a/GUI/Items/SessionGraphicsItem.cpp
+++ b/GUI/Models/Session/SessionGraphicsItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionGraphicsItem.cpp
+//! @file      GUI/Models/Session/SessionGraphicsItem.cpp
 //! @brief     Implements class SessionGraphicsItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 
 SessionGraphicsItem::SessionGraphicsItem(const QString& model_type) : SessionItem(model_type)
 {
diff --git a/GUI/Items/SessionGraphicsItem.h b/GUI/Models/Session/SessionGraphicsItem.h
similarity index 78%
rename from GUI/Items/SessionGraphicsItem.h
rename to GUI/Models/Session/SessionGraphicsItem.h
index 633baf74383..1a5350fc2ce 100644
--- a/GUI/Items/SessionGraphicsItem.h
+++ b/GUI/Models/Session/SessionGraphicsItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionGraphicsItem.h
+//! @file      GUI/Models/Session/SessionGraphicsItem.h
 //! @brief     Defines class SessionGraphicsItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONGRAPHICSITEM_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONGRAPHICSITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONGRAPHICSITEM_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONGRAPHICSITEM_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class BA_CORE_API_ SessionGraphicsItem : public SessionItem {
 
@@ -36,4 +36,4 @@ protected:
     explicit SessionGraphicsItem(const QString& model_type);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONGRAPHICSITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONGRAPHICSITEM_H
diff --git a/GUI/Items/SessionItem.cpp b/GUI/Models/Session/SessionItem.cpp
similarity index 97%
rename from GUI/Items/SessionItem.cpp
rename to GUI/Models/Session/SessionItem.cpp
index 7889352c4a3..a76daba0b38 100644
--- a/GUI/Items/SessionItem.cpp
+++ b/GUI/Models/Session/SessionItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItem.cpp
+//! @file      GUI/Models/Session/SessionItem.cpp
 //! @brief     Implements class SessionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,14 +12,14 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/ItemFactory.h"
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionItemData.h"
-#include "GUI/Items/SessionItemTags.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Varia/ItemFactory.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionItemData.h"
+#include "GUI/Models/Session/SessionItemTags.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
 
 //! Constructs new item with given model type. The type must be defined.
 SessionItem::SessionItem(const QString& modelType)
diff --git a/GUI/Items/SessionItem.h b/GUI/Models/Session/SessionItem.h
similarity index 98%
rename from GUI/Items/SessionItem.h
rename to GUI/Models/Session/SessionItem.h
index 798d6517873..2bf57fe90a0 100644
--- a/GUI/Items/SessionItem.h
+++ b/GUI/Models/Session/SessionItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItem.h
+//! @file      GUI/Models/Session/SessionItem.h
 //! @brief     Defines class SessionItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONITEM_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEM_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEM_H
 
 #include "Base/Utils/Assert.h"
 #include "Fit/Param/RealLimits.h"
@@ -423,4 +423,4 @@ template <typename T> bool SessionItem::hasModelType() const
     return modelType() == T::M_TYPE;
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONITEM_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEM_H
diff --git a/GUI/Items/SessionItemData.cpp b/GUI/Models/Session/SessionItemData.cpp
similarity index 92%
rename from GUI/Items/SessionItemData.cpp
rename to GUI/Models/Session/SessionItemData.cpp
index fb644dfcf23..d808e989c7a 100644
--- a/GUI/Items/SessionItemData.cpp
+++ b/GUI/Models/Session/SessionItemData.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItemData.cpp
+//! @file      GUI/Models/Session/SessionItemData.cpp
 //! @brief     Implements class SessionItemData
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionItemData.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionItemData.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 
 SessionItemData::ItemData::ItemData(int r, const QVariant& v) : role(r), data(v) {}
 
diff --git a/GUI/Items/SessionItemData.h b/GUI/Models/Session/SessionItemData.h
similarity index 82%
rename from GUI/Items/SessionItemData.h
rename to GUI/Models/Session/SessionItemData.h
index 63544e5dc08..7930e29754d 100644
--- a/GUI/Items/SessionItemData.h
+++ b/GUI/Models/Session/SessionItemData.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItemData.h
+//! @file      GUI/Models/Session/SessionItemData.h
 //! @brief     Defines class SessionItemData
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONITEMDATA_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONITEMDATA_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMDATA_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMDATA_H
 
 #include <QVariant>
 #include <QVector>
@@ -40,4 +40,4 @@ private:
     QVector<ItemData> m_values;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONITEMDATA_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMDATA_H
diff --git a/GUI/Items/SessionItemTags.cpp b/GUI/Models/Session/SessionItemTags.cpp
similarity index 97%
rename from GUI/Items/SessionItemTags.cpp
rename to GUI/Models/Session/SessionItemTags.cpp
index 1ad9868444c..31a7fdeab2e 100644
--- a/GUI/Items/SessionItemTags.cpp
+++ b/GUI/Models/Session/SessionItemTags.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItemTags.cpp
+//! @file      GUI/Models/Session/SessionItemTags.cpp
 //! @brief     Implement class SessionItemTags
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionItemTags.h"
+#include "GUI/Models/Session/SessionItemTags.h"
 #include "GUI/utils/Error.h"
 
 //! Register tag with given parameters. Returns true in case of success. Returns
diff --git a/GUI/Items/SessionItemTags.h b/GUI/Models/Session/SessionItemTags.h
similarity index 88%
rename from GUI/Items/SessionItemTags.h
rename to GUI/Models/Session/SessionItemTags.h
index e86e9453afd..27e86c40a3d 100644
--- a/GUI/Items/SessionItemTags.h
+++ b/GUI/Models/Session/SessionItemTags.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItemTags.h
+//! @file      GUI/Models/Session/SessionItemTags.h
 //! @brief     Defines class SessionItemTags
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONITEMTAGS_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONITEMTAGS_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMTAGS_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMTAGS_H
 
 #include <QString>
 #include <QStringList>
@@ -61,4 +61,4 @@ private:
     QVector<TagInfo> m_tags;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONITEMTAGS_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMTAGS_H
diff --git a/GUI/Items/SessionItemUtils.cpp b/GUI/Models/Session/SessionItemUtils.cpp
similarity index 91%
rename from GUI/Items/SessionItemUtils.cpp
rename to GUI/Models/Session/SessionItemUtils.cpp
index 3bc95f2cd3d..df04c4a17ae 100644
--- a/GUI/Items/SessionItemUtils.cpp
+++ b/GUI/Models/Session/SessionItemUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItemUtils.cpp
+//! @file      GUI/Models/Session/SessionItemUtils.cpp
 //! @brief     Implements namespace SessionItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 #include <QColor>
 #include <QIcon>
 #include <QPixmap>
diff --git a/GUI/Items/SessionItemUtils.h b/GUI/Models/Session/SessionItemUtils.h
similarity index 89%
rename from GUI/Items/SessionItemUtils.h
rename to GUI/Models/Session/SessionItemUtils.h
index 4b876d14525..01e91578bca 100644
--- a/GUI/Items/SessionItemUtils.h
+++ b/GUI/Models/Session/SessionItemUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionItemUtils.h
+//! @file      GUI/Models/Session/SessionItemUtils.h
 //! @brief     Defines namespace GUI::Session::ItemUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONITEMUTILS_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONITEMUTILS_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMUTILS_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMUTILS_H
 
 #include "Base/Vector/Vectors3D.h"
 #include <QString>
@@ -56,4 +56,4 @@ bool HasOwnAbundance(const SessionItem* item);
 
 } // namespace GUI::Session::ItemUtils
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONITEMUTILS_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONITEMUTILS_H
diff --git a/GUI/Items/SessionModel.cpp b/GUI/Models/Session/SessionModel.cpp
similarity index 98%
rename from GUI/Items/SessionModel.cpp
rename to GUI/Models/Session/SessionModel.cpp
index fc9c78ffda7..cf44248e491 100644
--- a/GUI/Items/SessionModel.cpp
+++ b/GUI/Models/Session/SessionModel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionModel.cpp
+//! @file      GUI/Models/Session/SessionModel.cpp
 //! @brief     Implements class SessionModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/ItemFactory.h"
-#include "GUI/Items/SessionItemTags.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Varia/ItemFactory.h"
+#include "GUI/Models/Session/SessionItemTags.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 #include "GUI/utils/Error.h"
 #include "GUI/utils/Helpers.h"
 #include <QFile>
diff --git a/GUI/Items/SessionModel.h b/GUI/Models/Session/SessionModel.h
similarity index 95%
rename from GUI/Items/SessionModel.h
rename to GUI/Models/Session/SessionModel.h
index de36cce85d8..66c360c81f9 100644
--- a/GUI/Items/SessionModel.h
+++ b/GUI/Models/Session/SessionModel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionModel.h
+//! @file      GUI/Models/Session/SessionModel.h
 //! @brief     Defines class SessionModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONMODEL_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONMODEL_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONMODEL_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONMODEL_H
 
-#include "GUI/Items/SessionFlags.h"
-#include "GUI/Items/SessionItem.h"
-#include "GUI/Items/SessionXML.h"
+#include "GUI/Models/Session/SessionFlags.h"
+#include "GUI/Models/Session/SessionItem.h"
+#include "GUI/Models/Session/SessionXML.h"
 #include <QStringList>
 
 //! Base class for a GUI data collection.
@@ -217,4 +217,4 @@ inline void SessionModel::setDraggedItemType(const QString& type)
     m_dragged_item_type = type;
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONMODEL_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONMODEL_H
diff --git a/GUI/Items/SessionXML.cpp b/GUI/Models/Session/SessionXML.cpp
similarity index 98%
rename from GUI/Items/SessionXML.cpp
rename to GUI/Models/Session/SessionXML.cpp
index 926b304d222..711fa9abdd0 100644
--- a/GUI/Items/SessionXML.cpp
+++ b/GUI/Models/Session/SessionXML.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionXML.cpp
+//! @file      GUI/Models/Session/SessionXML.cpp
 //! @brief     Implements reader and writer classes for SessionModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/MaterialItem.h"
-#include "GUI/Items/SessionItemTags.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Material/MaterialItem.h"
+#include "GUI/Models/Session/SessionItemTags.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/utils/DeserializationException.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/SessionXML.h b/GUI/Models/Session/SessionXML.h
similarity index 92%
rename from GUI/Items/SessionXML.h
rename to GUI/Models/Session/SessionXML.h
index 7c5852e8573..5b8aa936f2a 100644
--- a/GUI/Items/SessionXML.h
+++ b/GUI/Models/Session/SessionXML.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SessionXML.h
+//! @file      GUI/Models/Session/SessionXML.h
 //! @brief     Defines reader and writer classes for SessionModel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SESSIONXML_H
-#define BORNAGAIN_GUI_ITEMS_SESSIONXML_H
+#ifndef BORNAGAIN_GUI_MODELS_SESSION_SESSIONXML_H
+#define BORNAGAIN_GUI_MODELS_SESSION_SESSIONXML_H
 
 #include <QVariant>
 
@@ -63,4 +63,4 @@ QString readProperty(QXmlStreamReader* reader, SessionItem* item,
 
 } // namespace GUI::Session::XML
 
-#endif // BORNAGAIN_GUI_ITEMS_SESSIONXML_H
+#endif // BORNAGAIN_GUI_MODELS_SESSION_SESSIONXML_H
diff --git a/GUI/Items/ProjectionItems.cpp b/GUI/Models/Trafo/ProjectionItems.cpp
similarity index 85%
rename from GUI/Items/ProjectionItems.cpp
rename to GUI/Models/Trafo/ProjectionItems.cpp
index 07b26b4f7d8..560c078fc3f 100644
--- a/GUI/Items/ProjectionItems.cpp
+++ b/GUI/Models/Trafo/ProjectionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ProjectionItems.cpp
+//! @file      GUI/Models/Trafo/ProjectionItems.cpp
 //! @brief     Implements items related to projections over color map.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ProjectionItems.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 
 ProjectionContainerItem::ProjectionContainerItem() : SessionItem(M_TYPE)
 {
diff --git a/GUI/Items/ProjectionItems.h b/GUI/Models/Trafo/ProjectionItems.h
similarity index 76%
rename from GUI/Items/ProjectionItems.h
rename to GUI/Models/Trafo/ProjectionItems.h
index 97bbe18d7a5..ad8237a0159 100644
--- a/GUI/Items/ProjectionItems.h
+++ b/GUI/Models/Trafo/ProjectionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ProjectionItems.h
+//! @file      GUI/Models/Trafo/ProjectionItems.h
 //! @brief     Defines items related to projections over color map.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_PROJECTIONITEMS_H
-#define BORNAGAIN_GUI_ITEMS_PROJECTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_TRAFO_PROJECTIONITEMS_H
+#define BORNAGAIN_GUI_MODELS_TRAFO_PROJECTIONITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/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_ITEMS_PROJECTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_TRAFO_PROJECTIONITEMS_H
diff --git a/GUI/Items/RotationItems.cpp b/GUI/Models/Trafo/RotationItems.cpp
similarity index 97%
rename from GUI/Items/RotationItems.cpp
rename to GUI/Models/Trafo/RotationItems.cpp
index 11c2af95fb5..a64434669f3 100644
--- a/GUI/Items/RotationItems.cpp
+++ b/GUI/Models/Trafo/RotationItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RotationItems.cpp
+//! @file      GUI/Models/Trafo/RotationItems.cpp
 //! @brief     Implements class RotationItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/RotationItems.h"
+#include "GUI/Models/Trafo/RotationItems.h"
 #include "Base/Const/Units.h"
 #include "Base/Vector/Transform3D.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
diff --git a/GUI/Items/RotationItems.h b/GUI/Models/Trafo/RotationItems.h
similarity index 89%
rename from GUI/Items/RotationItems.h
rename to GUI/Models/Trafo/RotationItems.h
index b08b1e76deb..68f300d368c 100644
--- a/GUI/Items/RotationItems.h
+++ b/GUI/Models/Trafo/RotationItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RotationItems.h
+//! @file      GUI/Models/Trafo/RotationItems.h
 //! @brief     Defines class RotationItems
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_ROTATIONITEMS_H
-#define BORNAGAIN_GUI_ITEMS_ROTATIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_TRAFO_ROTATIONITEMS_H
+#define BORNAGAIN_GUI_MODELS_TRAFO_ROTATIONITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class IRotation;
 class Transform3D;
@@ -92,4 +92,4 @@ protected:
     virtual unique_ptr<IRotation> createRotation() const override;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_ROTATIONITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_TRAFO_ROTATIONITEMS_H
diff --git a/GUI/Items/TransformationItem.cpp b/GUI/Models/Trafo/TransformationItem.cpp
similarity index 89%
rename from GUI/Items/TransformationItem.cpp
rename to GUI/Models/Trafo/TransformationItem.cpp
index 82c82b80e8f..a8dddc1eab5 100644
--- a/GUI/Items/TransformationItem.cpp
+++ b/GUI/Models/Trafo/TransformationItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/TransformationItem.cpp
+//! @file      GUI/Models/Trafo/TransformationItem.cpp
 //! @brief     Implements class TransformationItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/TransformationItem.h"
-#include "GUI/Items/RotationItems.h"
+#include "GUI/Models/Trafo/TransformationItem.h"
+#include "GUI/Models/Trafo/RotationItems.h"
 #include "GUI/Models/Group/GroupInfo.h"
 
 TransformationItem::TransformationItem() : SessionGraphicsItem(M_TYPE)
diff --git a/GUI/Items/TransformationItem.h b/GUI/Models/Trafo/TransformationItem.h
similarity index 81%
rename from GUI/Items/TransformationItem.h
rename to GUI/Models/Trafo/TransformationItem.h
index 72d2be98210..2d82024daf7 100644
--- a/GUI/Items/TransformationItem.h
+++ b/GUI/Models/Trafo/TransformationItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/TransformationItem.h
+//! @file      GUI/Models/Trafo/TransformationItem.h
 //! @brief     Defines class TransformationItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_TRANSFORMATIONITEM_H
-#define BORNAGAIN_GUI_ITEMS_TRANSFORMATIONITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_TRAFO_TRANSFORMATIONITEM_H
+#define BORNAGAIN_GUI_MODELS_TRAFO_TRANSFORMATIONITEM_H
 
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 
 class RotationItem;
 
@@ -42,4 +42,4 @@ template <typename T> T* TransformationItem::setRotationType()
     return setGroupPropertyType<T>(P_ROT);
 }
 
-#endif // BORNAGAIN_GUI_ITEMS_TRANSFORMATIONITEM_H
+#endif // BORNAGAIN_GUI_MODELS_TRAFO_TRANSFORMATIONITEM_H
diff --git a/GUI/Models/Types/DoubleDescriptor.cpp b/GUI/Models/Types/DoubleDescriptor.cpp
index aeed867834b..e9bf254af48 100644
--- a/GUI/Models/Types/DoubleDescriptor.cpp
+++ b/GUI/Models/Types/DoubleDescriptor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Types/DoubleDescriptor.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 DoubleDescriptor::DoubleDescriptor(const QString& label, SessionItem* item,
                                    const variant<QString, Unit>& unit)
diff --git a/GUI/Models/Types/UIntDescriptor.cpp b/GUI/Models/Types/UIntDescriptor.cpp
index 07e7c0609d7..026fa6d1c69 100644
--- a/GUI/Models/Types/UIntDescriptor.cpp
+++ b/GUI/Models/Types/UIntDescriptor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Models/Types/UIntDescriptor.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 UIntDescriptor::UIntDescriptor(const QString& label, SessionItem* item,
                                const variant<QString, Unit>& unit)
diff --git a/GUI/Models/Types/VectorDescriptor.h b/GUI/Models/Types/VectorDescriptor.h
index 65a4c3475de..82cc6eff1a3 100644
--- a/GUI/Models/Types/VectorDescriptor.h
+++ b/GUI/Models/Types/VectorDescriptor.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_TYPES_VECTORDESCRIPTOR_H
 #define BORNAGAIN_GUI_MODELS_TYPES_VECTORDESCRIPTOR_H
 
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 
 //! Describes properties of a 3D vector, consisting of three double values.
diff --git a/GUI/Items/VectorItem.cpp b/GUI/Models/Types/VectorItem.cpp
similarity index 95%
rename from GUI/Items/VectorItem.cpp
rename to GUI/Models/Types/VectorItem.cpp
index 54a588189fa..825e8804a19 100644
--- a/GUI/Items/VectorItem.cpp
+++ b/GUI/Models/Types/VectorItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/VectorItem.cpp
+//! @file      GUI/Models/Types/VectorItem.cpp
 //! @brief     Implements class VectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 
 VectorItem::VectorItem() : SessionItem(M_TYPE)
 {
diff --git a/GUI/Items/VectorItem.h b/GUI/Models/Types/VectorItem.h
similarity index 84%
rename from GUI/Items/VectorItem.h
rename to GUI/Models/Types/VectorItem.h
index eea3d75bbf8..f44248c23e2 100644
--- a/GUI/Items/VectorItem.h
+++ b/GUI/Models/Types/VectorItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/VectorItem.h
+//! @file      GUI/Models/Types/VectorItem.h
 //! @brief     Defines class VectorItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_VECTORITEM_H
-#define BORNAGAIN_GUI_ITEMS_VECTORITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_TYPES_VECTORITEM_H
+#define BORNAGAIN_GUI_MODELS_TYPES_VECTORITEM_H
 
 #include "Base/Vector/Vectors3D.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class BA_CORE_API_ VectorItem : public SessionItem {
 private:
@@ -50,4 +50,4 @@ private:
     void updateLabel();
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_VECTORITEM_H
+#endif // BORNAGAIN_GUI_MODELS_TYPES_VECTORITEM_H
diff --git a/GUI/Items/DistributionItems.cpp b/GUI/Models/Varia/DistributionItems.cpp
similarity index 99%
rename from GUI/Items/DistributionItems.cpp
rename to GUI/Models/Varia/DistributionItems.cpp
index f7df1ed1c50..4d5af7e3b30 100644
--- a/GUI/Items/DistributionItems.cpp
+++ b/GUI/Models/Varia/DistributionItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DistributionItems.cpp
+//! @file      GUI/Models/Varia/DistributionItems.cpp
 //! @brief     Implements class DistributionItem and several subclasses
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/DistributionItems.h"
-#include "GUI/Items/RealLimitsItems.h"
+#include "GUI/Models/Varia/DistributionItems.h"
+#include "GUI/Models/Varia/RealLimitsItems.h"
 #include "GUI/Models/Group/GroupInfo.h"
 #include "Param/Distrib/Distributions.h"
 #include "Param/Distrib/RangedDistributions.h"
diff --git a/GUI/Items/DistributionItems.h b/GUI/Models/Varia/DistributionItems.h
similarity index 96%
rename from GUI/Items/DistributionItems.h
rename to GUI/Models/Varia/DistributionItems.h
index 179ed1e3837..db16b14d0a0 100644
--- a/GUI/Items/DistributionItems.h
+++ b/GUI/Models/Varia/DistributionItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/DistributionItems.h
+//! @file      GUI/Models/Varia/DistributionItems.h
 //! @brief     Defines class DistributionItem and several subclasses
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_DISTRIBUTIONITEMS_H
-#define BORNAGAIN_GUI_ITEMS_DISTRIBUTIONITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_DISTRIBUTIONITEMS_H
+#define BORNAGAIN_GUI_MODELS_VARIA_DISTRIBUTIONITEMS_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class IDistribution1D;
 class IRangedDistribution;
@@ -208,4 +208,4 @@ public:
     void setRightWidth(double right_width);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_DISTRIBUTIONITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_DISTRIBUTIONITEMS_H
diff --git a/GUI/Items/ItemCatalog.cpp b/GUI/Models/Varia/ItemCatalog.cpp
similarity index 88%
rename from GUI/Items/ItemCatalog.cpp
rename to GUI/Models/Varia/ItemCatalog.cpp
index 6e08a247a0f..0f238ff125a 100644
--- a/GUI/Items/ItemCatalog.cpp
+++ b/GUI/Models/Varia/ItemCatalog.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemCatalog.cpp
+//! @file      GUI/Models/Varia/ItemCatalog.cpp
 //! @brief     Implements class ItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,52 +12,52 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ItemCatalog.h"
+#include "GUI/Models/Varia/ItemCatalog.h"
 #include "Base/Utils/Assert.h"
-#include "GUI/Items/BackgroundItems.h"
-#include "GUI/Items/BeamAngleItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/FTDecayFunctionItems.h"
-#include "GUI/Items/FTDistributionItems.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/FootprintItems.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/Lattice2DItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/LayerRoughnessItems.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/MaterialDataItems.h"
-#include "GUI/Items/MaterialItem.h"
-#include "GUI/Items/MaterialItemContainer.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/MinimizerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/PointwiseAxisItem.h"
-#include "GUI/Items/ProjectionItems.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/RealLimitsItems.h"
-#include "GUI/Items/RectangularDetectorItem.h"
-#include "GUI/Items/ResolutionFunctionItems.h"
-#include "GUI/Items/RotationItems.h"
-#include "GUI/Items/SimulationOptionsItem.h"
-#include "GUI/Items/SpecularBeamInclinationItem.h"
-#include "GUI/Items/SpecularDataItem.h"
-#include "GUI/Items/SphericalDetectorItem.h"
-#include "GUI/Items/TransformationItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/BackgroundItems.h"
+#include "GUI/Models/Instrument/BeamAngleItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Sample/FTDecayFunctionItems.h"
+#include "GUI/Models/Sample/FTDistributionItems.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Instrument/FootprintItems.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Sample/Lattice2DItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Material/MaterialDataItems.h"
+#include "GUI/Models/Material/MaterialItem.h"
+#include "GUI/Models/Material/MaterialItemContainer.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Fit/MinimizerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Varia/RealLimitsItems.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
+#include "GUI/Models/Sample/ResolutionFunctionItems.h"
+#include "GUI/Models/Trafo/RotationItems.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
+#include "GUI/Models/Instrument/SpecularBeamInclinationItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
+#include "GUI/Models/Instrument/SphericalDetectorItem.h"
+#include "GUI/Models/Trafo/TransformationItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Data/DataProperties.h"
 #include "GUI/Models/Data/DataPropertyContainer.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Items/ItemCatalog.h b/GUI/Models/Varia/ItemCatalog.h
similarity index 90%
rename from GUI/Items/ItemCatalog.h
rename to GUI/Models/Varia/ItemCatalog.h
index 8f298e9621d..d0b57d2c4c4 100644
--- a/GUI/Items/ItemCatalog.h
+++ b/GUI/Models/Varia/ItemCatalog.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemCatalog.h
+//! @file      GUI/Models/Varia/ItemCatalog.h
 //! @brief     Defines class ItemCatalog
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_ITEMCATALOG_H
-#define BORNAGAIN_GUI_ITEMS_ITEMCATALOG_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_ITEMCATALOG_H
+#define BORNAGAIN_GUI_MODELS_VARIA_ITEMCATALOG_H
 
 #include "Base/Utils/IFactory.h"
 #include <QMap>
@@ -64,4 +64,4 @@ private:
 };
 
 
-#endif // BORNAGAIN_GUI_ITEMS_ITEMCATALOG_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_ITEMCATALOG_H
diff --git a/GUI/Items/ItemFactory.cpp b/GUI/Models/Varia/ItemFactory.cpp
similarity index 84%
rename from GUI/Items/ItemFactory.cpp
rename to GUI/Models/Varia/ItemFactory.cpp
index 4a199a24f49..0068e47168e 100644
--- a/GUI/Items/ItemFactory.cpp
+++ b/GUI/Models/Varia/ItemFactory.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemFactory.cpp
+//! @file      GUI/Models/Varia/ItemFactory.cpp
 //! @brief     Implements class ItemFactory
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ItemFactory.h"
-#include "GUI/Items/ItemCatalog.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Varia/ItemFactory.h"
+#include "GUI/Models/Varia/ItemCatalog.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 SessionItem* GUI::Model::ItemFactory::CreateItem(const QString& model_name, SessionItem* parent)
 {
diff --git a/GUI/Items/ItemFactory.h b/GUI/Models/Varia/ItemFactory.h
similarity index 86%
rename from GUI/Items/ItemFactory.h
rename to GUI/Models/Varia/ItemFactory.h
index fbc25384fcd..7f610cb4ad1 100644
--- a/GUI/Items/ItemFactory.h
+++ b/GUI/Models/Varia/ItemFactory.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemFactory.h
+//! @file      GUI/Models/Varia/ItemFactory.h
 //! @brief     Defines namespace GUI::Model::ItemFactory
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_ITEMFACTORY_H
-#define BORNAGAIN_GUI_ITEMS_ITEMFACTORY_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_ITEMFACTORY_H
+#define BORNAGAIN_GUI_MODELS_VARIA_ITEMFACTORY_H
 
 #include <QString>
 
@@ -39,4 +39,4 @@ template <typename ItemType> ItemType* CreateItem(SessionItem* parent)
 
 }; // namespace GUI::Model::ItemFactory
 
-#endif // BORNAGAIN_GUI_ITEMS_ITEMFACTORY_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_ITEMFACTORY_H
diff --git a/GUI/Items/ItemFileNameUtils.cpp b/GUI/Models/Varia/ItemFileNameUtils.cpp
similarity index 93%
rename from GUI/Items/ItemFileNameUtils.cpp
rename to GUI/Models/Varia/ItemFileNameUtils.cpp
index 19fdffe7c2b..9e4a0becb74 100644
--- a/GUI/Items/ItemFileNameUtils.cpp
+++ b/GUI/Models/Varia/ItemFileNameUtils.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemFileNameUtils.cpp
+//! @file      GUI/Models/Varia/ItemFileNameUtils.cpp
 //! @brief     Defines auxiliary functions in ItemFileNameUtils namespace.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ItemFileNameUtils.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Varia/ItemFileNameUtils.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/utils/Helpers.h"
 
 namespace {
diff --git a/GUI/Items/ItemFileNameUtils.h b/GUI/Models/Varia/ItemFileNameUtils.h
similarity index 84%
rename from GUI/Items/ItemFileNameUtils.h
rename to GUI/Models/Varia/ItemFileNameUtils.h
index a97ec19acc9..745bac59cd6 100644
--- a/GUI/Items/ItemFileNameUtils.h
+++ b/GUI/Models/Varia/ItemFileNameUtils.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemFileNameUtils.h
+//! @file      GUI/Models/Varia/ItemFileNameUtils.h
 //! @brief     Defines namespace GUI::Model::FilenameUtils
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_ITEMFILENAMEUTILS_H
-#define BORNAGAIN_GUI_ITEMS_ITEMFILENAMEUTILS_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_ITEMFILENAMEUTILS_H
+#define BORNAGAIN_GUI_MODELS_VARIA_ITEMFILENAMEUTILS_H
 
 #include <QString>
 
@@ -41,4 +41,4 @@ QStringList nonXMLFileNameFilters();
 
 } // namespace GUI::Model::FilenameUtils
 
-#endif // BORNAGAIN_GUI_ITEMS_ITEMFILENAMEUTILS_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_ITEMFILENAMEUTILS_H
diff --git a/GUI/Items/ItemWithDistribution.h b/GUI/Models/Varia/ItemWithDistribution.h
similarity index 80%
rename from GUI/Items/ItemWithDistribution.h
rename to GUI/Models/Varia/ItemWithDistribution.h
index 869b6ceeb49..a82914a8848 100644
--- a/GUI/Items/ItemWithDistribution.h
+++ b/GUI/Models/Varia/ItemWithDistribution.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemWithDistribution.h
+//! @file      GUI/Models/Varia/ItemWithDistribution.h
 //! @brief     Defines abstract item with a distribution
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_ITEMWITHDISTRIBUTION_H
-#define BORNAGAIN_GUI_ITEMS_ITEMWITHDISTRIBUTION_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_ITEMWITHDISTRIBUTION_H
+#define BORNAGAIN_GUI_MODELS_VARIA_ITEMWITHDISTRIBUTION_H
 
 #include "Wrap/WinDllMacros.h"
 
@@ -33,4 +33,4 @@ public:
     virtual ~ItemWithDistribution() = default;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_ITEMWITHDISTRIBUTION_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_ITEMWITHDISTRIBUTION_H
diff --git a/GUI/Items/ItemWithMaterial.cpp b/GUI/Models/Varia/ItemWithMaterial.cpp
similarity index 88%
rename from GUI/Items/ItemWithMaterial.cpp
rename to GUI/Models/Varia/ItemWithMaterial.cpp
index 0598d7235b5..817fd3bafeb 100644
--- a/GUI/Items/ItemWithMaterial.cpp
+++ b/GUI/Models/Varia/ItemWithMaterial.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemWithMaterial.cpp
+//! @file      GUI/Models/Varia/ItemWithMaterial.cpp
 //! @brief     Implements class ItemWithMaterial
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ItemWithMaterial.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobModelFunctions.h"
-#include "GUI/Items/MaterialItemContainer.h"
-#include "GUI/Items/MaterialItemUtils.h"
+#include "GUI/Models/Varia/ItemWithMaterial.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobModelFunctions.h"
+#include "GUI/Models/Material/MaterialItemContainer.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
 
 void ItemWithMaterial::setMaterial(const MaterialItem* materialItem)
 {
diff --git a/GUI/Items/ItemWithMaterial.h b/GUI/Models/Varia/ItemWithMaterial.h
similarity index 83%
rename from GUI/Items/ItemWithMaterial.h
rename to GUI/Models/Varia/ItemWithMaterial.h
index 12206cc7747..8b3bec7bae6 100644
--- a/GUI/Items/ItemWithMaterial.h
+++ b/GUI/Models/Varia/ItemWithMaterial.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ItemWithMaterial.h
+//! @file      GUI/Models/Varia/ItemWithMaterial.h
 //! @brief     Defines abstract item with a material property
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_ITEMWITHMATERIAL_H
-#define BORNAGAIN_GUI_ITEMS_ITEMWITHMATERIAL_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_ITEMWITHMATERIAL_H
+#define BORNAGAIN_GUI_MODELS_VARIA_ITEMWITHMATERIAL_H
 
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 
 class MaterialItem;
 
@@ -45,4 +45,4 @@ protected:
     ItemWithMaterial(const QString& model_type);
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_ITEMWITHMATERIAL_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_ITEMWITHMATERIAL_H
diff --git a/GUI/Items/ModelPath.cpp b/GUI/Models/Varia/ModelPath.cpp
similarity index 95%
rename from GUI/Items/ModelPath.cpp
rename to GUI/Models/Varia/ModelPath.cpp
index ff5dc7d73b0..6f2f6a54556 100644
--- a/GUI/Items/ModelPath.cpp
+++ b/GUI/Models/Varia/ModelPath.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ModelPath.cpp
+//! @file      GUI/Models/Varia/ModelPath.cpp
 //! @brief     Implements class ModelPath
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItem.h"
 
 QString GUI::Model::Path::getPathFromIndex(const QModelIndex& index)
 {
diff --git a/GUI/Items/ModelPath.h b/GUI/Models/Varia/ModelPath.h
similarity index 86%
rename from GUI/Items/ModelPath.h
rename to GUI/Models/Varia/ModelPath.h
index 8e99e1aeb37..6737e03fe66 100644
--- a/GUI/Items/ModelPath.h
+++ b/GUI/Models/Varia/ModelPath.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/ModelPath.h
+//! @file      GUI/Models/Varia/ModelPath.h
 //! @brief     Defines namespace GUI::Model::Path
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_MODELPATH_H
-#define BORNAGAIN_GUI_ITEMS_MODELPATH_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_MODELPATH_H
+#define BORNAGAIN_GUI_MODELS_VARIA_MODELPATH_H
 
 #include <memory>
 #include <vector>
@@ -39,4 +39,4 @@ const SessionItem* ancestor(const SessionItem* item, const QString& requiredMode
 
 } // namespace GUI::Model::Path
 
-#endif // BORNAGAIN_GUI_ITEMS_MODELPATH_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_MODELPATH_H
diff --git a/GUI/Items/PropertyItem.cpp b/GUI/Models/Varia/PropertyItem.cpp
similarity index 86%
rename from GUI/Items/PropertyItem.cpp
rename to GUI/Models/Varia/PropertyItem.cpp
index 037399412b0..441e90a3901 100644
--- a/GUI/Items/PropertyItem.cpp
+++ b/GUI/Models/Varia/PropertyItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/PropertyItem.cpp
+//! @file      GUI/Models/Varia/PropertyItem.cpp
 //! @brief     Implements class PropertyItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,6 +12,6 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/PropertyItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
 
 PropertyItem::PropertyItem() : SessionItem(M_TYPE) {}
diff --git a/GUI/Items/PropertyItem.h b/GUI/Models/Varia/PropertyItem.h
similarity index 74%
rename from GUI/Items/PropertyItem.h
rename to GUI/Models/Varia/PropertyItem.h
index c93c68c76f6..35b017da12e 100644
--- a/GUI/Items/PropertyItem.h
+++ b/GUI/Models/Varia/PropertyItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/PropertyItem.h
+//! @file      GUI/Models/Varia/PropertyItem.h
 //! @brief     Defines class PropertyItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_PROPERTYITEM_H
-#define BORNAGAIN_GUI_ITEMS_PROPERTYITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_PROPERTYITEM_H
+#define BORNAGAIN_GUI_MODELS_VARIA_PROPERTYITEM_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class BA_CORE_API_ PropertyItem : public SessionItem {
 
@@ -25,4 +25,4 @@ public:
     PropertyItem();
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_PROPERTYITEM_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_PROPERTYITEM_H
diff --git a/GUI/Items/RealLimitsItems.cpp b/GUI/Models/Varia/RealLimitsItems.cpp
similarity index 97%
rename from GUI/Items/RealLimitsItems.cpp
rename to GUI/Models/Varia/RealLimitsItems.cpp
index e55bd157f04..59e666f6560 100644
--- a/GUI/Items/RealLimitsItems.cpp
+++ b/GUI/Models/Varia/RealLimitsItems.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RealLimitsItems.cpp
+//! @file      GUI/Models/Varia/RealLimitsItems.cpp
 //! @brief     Defines RealLimitsItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/RealLimitsItems.h"
+#include "GUI/Models/Varia/RealLimitsItems.h"
 
 namespace {
 const QString tooltip_min_value = "Minimum allowed value, value included.";
diff --git a/GUI/Items/RealLimitsItems.h b/GUI/Models/Varia/RealLimitsItems.h
similarity index 90%
rename from GUI/Items/RealLimitsItems.h
rename to GUI/Models/Varia/RealLimitsItems.h
index 1a208165fed..132fdaf9009 100644
--- a/GUI/Items/RealLimitsItems.h
+++ b/GUI/Models/Varia/RealLimitsItems.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/RealLimitsItems.h
+//! @file      GUI/Models/Varia/RealLimitsItems.h
 //! @brief     Defines RealLimitsItems's classes
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_REALLIMITSITEMS_H
-#define BORNAGAIN_GUI_ITEMS_REALLIMITSITEMS_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_REALLIMITSITEMS_H
+#define BORNAGAIN_GUI_MODELS_VARIA_REALLIMITSITEMS_H
 
 #include <optional>
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 class RealLimitsItem : public SessionItem {
 private:
@@ -89,4 +89,4 @@ public:
     using RealLimitsItem::setUpperLimit;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_REALLIMITSITEMS_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_REALLIMITSITEMS_H
diff --git a/GUI/Items/SimulationOptionsItem.cpp b/GUI/Models/Varia/SimulationOptionsItem.cpp
similarity index 97%
rename from GUI/Items/SimulationOptionsItem.cpp
rename to GUI/Models/Varia/SimulationOptionsItem.cpp
index a140220f3c7..4236b10ce39 100644
--- a/GUI/Items/SimulationOptionsItem.cpp
+++ b/GUI/Models/Varia/SimulationOptionsItem.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SimulationOptionsItem.cpp
+//! @file      GUI/Models/Varia/SimulationOptionsItem.cpp
 //! @brief     Defines class SimulationOptionsItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/SimulationOptionsItem.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include <thread>
 
diff --git a/GUI/Items/SimulationOptionsItem.h b/GUI/Models/Varia/SimulationOptionsItem.h
similarity index 88%
rename from GUI/Items/SimulationOptionsItem.h
rename to GUI/Models/Varia/SimulationOptionsItem.h
index bc450ee4aae..34ccc90a59e 100644
--- a/GUI/Items/SimulationOptionsItem.h
+++ b/GUI/Models/Varia/SimulationOptionsItem.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      GUI/Items/SimulationOptionsItem.h
+//! @file      GUI/Models/Varia/SimulationOptionsItem.h
 //! @brief     Defines class SimulationOptionsItem
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,10 +12,10 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_GUI_ITEMS_SIMULATIONOPTIONSITEM_H
-#define BORNAGAIN_GUI_ITEMS_SIMULATIONOPTIONSITEM_H
+#ifndef BORNAGAIN_GUI_MODELS_VARIA_SIMULATIONOPTIONSITEM_H
+#define BORNAGAIN_GUI_MODELS_VARIA_SIMULATIONOPTIONSITEM_H
 
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include <QMap>
 
 //! The SimulationOptionsItem class holds simulation status (run policy, number of threads,
@@ -58,4 +58,4 @@ public:
     bool includeSpecularPeak() const;
 };
 
-#endif // BORNAGAIN_GUI_ITEMS_SIMULATIONOPTIONSITEM_H
+#endif // BORNAGAIN_GUI_MODELS_VARIA_SIMULATIONOPTIONSITEM_H
diff --git a/GUI/Views/FitWidgets/FitActivityPanel.cpp b/GUI/Views/FitWidgets/FitActivityPanel.cpp
index 2f8facdda5f..f24be3a1ffa 100644
--- a/GUI/Views/FitWidgets/FitActivityPanel.cpp
+++ b/GUI/Views/FitWidgets/FitActivityPanel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/FitActivityPanel.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/Views/FitWidgets/FitSessionController.h"
 #include "GUI/Views/FitWidgets/FitSessionManager.h"
diff --git a/GUI/Views/FitWidgets/FitObjectiveBuilder.cpp b/GUI/Views/FitWidgets/FitObjectiveBuilder.cpp
index a00e5b9ec30..e180c97aed4 100644
--- a/GUI/Views/FitWidgets/FitObjectiveBuilder.cpp
+++ b/GUI/Views/FitWidgets/FitObjectiveBuilder.cpp
@@ -18,12 +18,12 @@
 #include "Core/Simulation/ISimulation.h"
 #include "Fit/Kernel/Minimizer.h"
 #include "Fit/Minimizer/IMinimizer.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/MinimizerItem.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Fit/MinimizerItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Domain/DomainSimulationBuilder.h"
 #include "GUI/Views/FitWidgets/GUIFitObserver.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Views/FitWidgets/FitParameterWidget.cpp b/GUI/Views/FitWidgets/FitParameterWidget.cpp
index 359b586188c..bbf904d9046 100644
--- a/GUI/Views/FitWidgets/FitParameterWidget.cpp
+++ b/GUI/Views/FitWidgets/FitParameterWidget.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/FitParameterWidget.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/ParameterTreeItems.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
 #include "GUI/Models/Fit/FitParameterProxyModel.h"
 #include "GUI/Models/Job/FitParameterHelper.h"
 #include "GUI/Models/Job/JobModel.h"
diff --git a/GUI/Views/FitWidgets/FitSessionController.cpp b/GUI/Views/FitWidgets/FitSessionController.cpp
index 92159e88f45..afab561ebae 100644
--- a/GUI/Views/FitWidgets/FitSessionController.cpp
+++ b/GUI/Views/FitWidgets/FitSessionController.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/FitSessionController.h"
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Views/FitWidgets/FitLog.h"
 #include "GUI/Views/FitWidgets/FitObjectiveBuilder.h"
 #include "GUI/Views/FitWidgets/FitWorkerLauncher.h"
diff --git a/GUI/Views/FitWidgets/FitSessionManager.cpp b/GUI/Views/FitWidgets/FitSessionManager.cpp
index 55d57cdce54..7573f57055f 100644
--- a/GUI/Views/FitWidgets/FitSessionManager.cpp
+++ b/GUI/Views/FitWidgets/FitSessionManager.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/FitSessionManager.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Views/FitWidgets/FitLog.h"
 #include "GUI/Views/FitWidgets/FitSessionController.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Views/FitWidgets/FitSessionWidget.cpp b/GUI/Views/FitWidgets/FitSessionWidget.cpp
index 76654d09e05..9a7c2f226b3 100644
--- a/GUI/Views/FitWidgets/FitSessionWidget.cpp
+++ b/GUI/Views/FitWidgets/FitSessionWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/FitSessionWidget.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Views/FitWidgets/FitParameterWidget.h"
 #include "GUI/Views/FitWidgets/FitResultsWidget.h"
 #include "GUI/Views/FitWidgets/FitSessionController.h"
diff --git a/GUI/Views/FitWidgets/JobRealTimeWidget.cpp b/GUI/Views/FitWidgets/JobRealTimeWidget.cpp
index 95708b821d2..020f292b236 100644
--- a/GUI/Views/FitWidgets/JobRealTimeWidget.cpp
+++ b/GUI/Views/FitWidgets/JobRealTimeWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/JobRealTimeWidget.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/Views/FitWidgets/ParameterTuningWidget.h"
 #include "GUI/utils/mainwindow_constants.h"
diff --git a/GUI/Views/FitWidgets/MinimizerSettingsWidget.cpp b/GUI/Views/FitWidgets/MinimizerSettingsWidget.cpp
index a59d12f4e28..7f7fe6bb508 100644
--- a/GUI/Views/FitWidgets/MinimizerSettingsWidget.cpp
+++ b/GUI/Views/FitWidgets/MinimizerSettingsWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/MinimizerSettingsWidget.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/MinimizerItem.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Fit/MinimizerItem.h"
 #include "GUI/Views/PropertyEditor/ComponentEditor.h"
 #include <QPushButton>
 #include <QVBoxLayout>
diff --git a/GUI/Views/FitWidgets/ParameterTuningDelegate.cpp b/GUI/Views/FitWidgets/ParameterTuningDelegate.cpp
index db01927ed3c..512083dc3eb 100644
--- a/GUI/Views/FitWidgets/ParameterTuningDelegate.cpp
+++ b/GUI/Views/FitWidgets/ParameterTuningDelegate.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/ParameterTuningDelegate.h"
-#include "GUI/Items/ModelPath.h"
-#include "GUI/Items/ParameterTreeItems.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Varia/ModelPath.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Parameter/ParameterTuningModel.h"
 #include "GUI/Widgets/Common/ScientificSpinBox.h"
 #include <QAbstractItemModel>
diff --git a/GUI/Views/FitWidgets/ParameterTuningWidget.cpp b/GUI/Views/FitWidgets/ParameterTuningWidget.cpp
index 01a869ccf69..df74e257dd0 100644
--- a/GUI/Views/FitWidgets/ParameterTuningWidget.cpp
+++ b/GUI/Views/FitWidgets/ParameterTuningWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/ParameterTuningWidget.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/ParameterTreeItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Parameter/ParameterTreeItems.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/Models/Parameter/ParameterTuningModel.h"
 #include "GUI/Views/FitWidgets/JobRealTimeToolBar.h"
diff --git a/GUI/Views/FitWidgets/RunFitControlWidget.cpp b/GUI/Views/FitWidgets/RunFitControlWidget.cpp
index c87d33ad141..3180105a139 100644
--- a/GUI/Views/FitWidgets/RunFitControlWidget.cpp
+++ b/GUI/Views/FitWidgets/RunFitControlWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/FitWidgets/RunFitControlWidget.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
 #include "GUI/Widgets/Info/CautionSign.h"
 #include "GUI/utils/mainwindow_constants.h"
diff --git a/GUI/Views/ImportDataWidgets/ImportDataUtils.cpp b/GUI/Views/ImportDataWidgets/ImportDataUtils.cpp
index 01bd78a0215..6cce451167e 100644
--- a/GUI/Views/ImportDataWidgets/ImportDataUtils.cpp
+++ b/GUI/Views/ImportDataWidgets/ImportDataUtils.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Views/ImportDataWidgets/ImportDataUtils.h"
 #include "Device/Data/OutputData.h"
 #include "Device/InputOutput/DataFormatUtils.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/ImportDataInfo.h"
 #include "GUI/Views/Loaders/QREDataLoader.h"
 #include "GUI/utils/OutputDataUtils.h"
diff --git a/GUI/Views/ImportDataWidgets/RealDataMaskWidget.cpp b/GUI/Views/ImportDataWidgets/RealDataMaskWidget.cpp
index e21454d90af..e95754927ae 100644
--- a/GUI/Views/ImportDataWidgets/RealDataMaskWidget.cpp
+++ b/GUI/Views/ImportDataWidgets/RealDataMaskWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ImportDataWidgets/RealDataMaskWidget.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Views/MaskWidgets/MaskEditor.h"
 #include <QAction>
 #include <QBoxLayout>
diff --git a/GUI/Views/ImportDataWidgets/RealDataPresenter.cpp b/GUI/Views/ImportDataWidgets/RealDataPresenter.cpp
index bbc1b53b59c..298699020e4 100644
--- a/GUI/Views/ImportDataWidgets/RealDataPresenter.cpp
+++ b/GUI/Views/ImportDataWidgets/RealDataPresenter.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ImportDataWidgets/RealDataPresenter.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Views/ImportDataWidgets/RealDataMaskWidget.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataWidget.h"
 #include "GUI/Views/ProjectionsWidgets/IntensityDataProjectionsWidget.h"
diff --git a/GUI/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp b/GUI/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp
index e01918eb4c4..036661b5245 100644
--- a/GUI/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp
+++ b/GUI/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ImportDataWidgets/RealDataPropertiesWidget.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "GUI/Models/Project/LinkInstrumentManager.h"
 #include "GUI/Models/Project/ProjectDocument.h"
diff --git a/GUI/Views/ImportDataWidgets/RealDataSelectorWidget.cpp b/GUI/Views/ImportDataWidgets/RealDataSelectorWidget.cpp
index d9369c3af0b..0de388df6b9 100644
--- a/GUI/Views/ImportDataWidgets/RealDataSelectorWidget.cpp
+++ b/GUI/Views/ImportDataWidgets/RealDataSelectorWidget.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Views/ImportDataWidgets/RealDataSelectorWidget.h"
 #include "Device/Data/DataUtils.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/AbstractDataLoader1D.h"
 #include "GUI/Models/Data/DataLoaders1D.h"
 #include "GUI/Models/Data/RealDataModel.h"
diff --git a/GUI/Views/ImportDataWidgets/RealDataTreeModel.cpp b/GUI/Views/ImportDataWidgets/RealDataTreeModel.cpp
index 6f1fb855ee2..cafe7adfe12 100644
--- a/GUI/Views/ImportDataWidgets/RealDataTreeModel.cpp
+++ b/GUI/Views/ImportDataWidgets/RealDataTreeModel.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Views/ImportDataWidgets/RealDataTreeModel.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include <QApplication>
 #include <QtCore>
diff --git a/GUI/Views/InstrumentWidgets/DepthProbeInstrumentEditor.cpp b/GUI/Views/InstrumentWidgets/DepthProbeInstrumentEditor.cpp
index edde4b11145..ef7b73218bd 100644
--- a/GUI/Views/InstrumentWidgets/DepthProbeInstrumentEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/DepthProbeInstrumentEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/DepthProbeInstrumentEditor.h"
-#include "GUI/Items/BeamWavelengthItem.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
 #include "GUI/Views/InstrumentWidgets/InclinationAnglesEditor.h"
 #include "GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.h"
diff --git a/GUI/Views/InstrumentWidgets/DetectorAlignmentEditor.cpp b/GUI/Views/InstrumentWidgets/DetectorAlignmentEditor.cpp
index e81c74eaaf8..c8c7d22d079 100644
--- a/GUI/Views/InstrumentWidgets/DetectorAlignmentEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/DetectorAlignmentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/DetectorAlignmentEditor.h"
-#include "GUI/Items/RectangularDetectorItem.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/Views/InstrumentWidgets/VectorEditor.h"
 
diff --git a/GUI/Views/InstrumentWidgets/DetectorEditor.cpp b/GUI/Views/InstrumentWidgets/DetectorEditor.cpp
index 8ace3e5ee6d..ac4e41185fb 100644
--- a/GUI/Views/InstrumentWidgets/DetectorEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/DetectorEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/DetectorEditor.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/RectangularDetectorItem.h"
-#include "GUI/Items/SphericalDetectorItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
+#include "GUI/Models/Instrument/SphericalDetectorItem.h"
 #include "GUI/Views/InstrumentWidgets/RectangularDetectorEditor.h"
 #include "GUI/Views/InstrumentWidgets/SphericalDetectorEditor.h"
 
diff --git a/GUI/Views/InstrumentWidgets/DistributionEditor.cpp b/GUI/Views/InstrumentWidgets/DistributionEditor.cpp
index 95fe9664f9e..18db32c9cdf 100644
--- a/GUI/Views/InstrumentWidgets/DistributionEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/DistributionEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
-#include "GUI/Items/DistributionItems.h"
-#include "GUI/Items/ItemWithDistribution.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Varia/DistributionItems.h"
+#include "GUI/Models/Varia/ItemWithDistribution.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/InstrumentWidgets/DistributionForms.h"
 #include "GUI/Views/InstrumentWidgets/EditDistributionDialog.h"
 #include "GUI/Views/PropertyEditor/GroupInfoBox.h"
diff --git a/GUI/Views/InstrumentWidgets/DistributionForms.cpp b/GUI/Views/InstrumentWidgets/DistributionForms.cpp
index 97dab1e9128..99fa6f673d0 100644
--- a/GUI/Views/InstrumentWidgets/DistributionForms.cpp
+++ b/GUI/Views/InstrumentWidgets/DistributionForms.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/DistributionForms.h"
-#include "GUI/Items/DistributionItems.h"
-#include "GUI/Items/ItemWithDistribution.h"
+#include "GUI/Models/Varia/DistributionItems.h"
+#include "GUI/Models/Varia/ItemWithDistribution.h"
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
 #include "GUI/Widgets/Common/ScientificSpinBox.h"
 
diff --git a/GUI/Views/InstrumentWidgets/DistributionPlot.cpp b/GUI/Views/InstrumentWidgets/DistributionPlot.cpp
index debf6b6e432..8840b990cfe 100644
--- a/GUI/Views/InstrumentWidgets/DistributionPlot.cpp
+++ b/GUI/Views/InstrumentWidgets/DistributionPlot.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/DistributionPlot.h"
-#include "GUI/Items/DistributionItems.h"
-#include "GUI/Items/RealLimitsItems.h"
+#include "GUI/Models/Varia/DistributionItems.h"
+#include "GUI/Models/Varia/RealLimitsItems.h"
 #include "GUI/Widgets/Info/CautionSign.h"
 #include "Param/Distrib/Distributions.h"
 #include <QLabel>
diff --git a/GUI/Views/InstrumentWidgets/EditDistributionDialog.cpp b/GUI/Views/InstrumentWidgets/EditDistributionDialog.cpp
index a96c9d6832f..f6b489ae308 100644
--- a/GUI/Views/InstrumentWidgets/EditDistributionDialog.cpp
+++ b/GUI/Views/InstrumentWidgets/EditDistributionDialog.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/EditDistributionDialog.h"
-#include "GUI/Items/ItemWithDistribution.h"
+#include "GUI/Models/Varia/ItemWithDistribution.h"
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
 #include "GUI/Views/InstrumentWidgets/DistributionPlot.h"
 
diff --git a/GUI/Views/InstrumentWidgets/EnvironmentEditor.cpp b/GUI/Views/InstrumentWidgets/EnvironmentEditor.cpp
index a7d50af0621..c803104a38a 100644
--- a/GUI/Views/InstrumentWidgets/EnvironmentEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/EnvironmentEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/EnvironmentEditor.h"
-#include "GUI/Items/BackgroundItems.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/BackgroundItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 
 #include <QComboBox>
 #include <QDoubleSpinBox>
diff --git a/GUI/Views/InstrumentWidgets/FootprintCorrectionEditor.cpp b/GUI/Views/InstrumentWidgets/FootprintCorrectionEditor.cpp
index dc05a9bacdf..be8b749ccf9 100644
--- a/GUI/Views/InstrumentWidgets/FootprintCorrectionEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/FootprintCorrectionEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/FootprintCorrectionEditor.h"
-#include "GUI/Items/FootprintItems.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/FootprintItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 
 #include <QComboBox>
 #include <QDoubleSpinBox>
diff --git a/GUI/Views/InstrumentWidgets/GISASBeamEditor.cpp b/GUI/Views/InstrumentWidgets/GISASBeamEditor.cpp
index 2be9180c922..07c630becea 100644
--- a/GUI/Views/InstrumentWidgets/GISASBeamEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/GISASBeamEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/GISASBeamEditor.h"
-#include "GUI/Items/BeamAngleItems.h"
-#include "GUI/Items/BeamItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
+#include "GUI/Models/Instrument/BeamAngleItems.h"
+#include "GUI/Models/Instrument/BeamItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
 
 #include <QDoubleValidator>
diff --git a/GUI/Views/InstrumentWidgets/GISASInstrumentEditor.cpp b/GUI/Views/InstrumentWidgets/GISASInstrumentEditor.cpp
index 27805ba235d..e32782f5b61 100644
--- a/GUI/Views/InstrumentWidgets/GISASInstrumentEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/GISASInstrumentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/GISASInstrumentEditor.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Views/InstrumentWidgets/DetectorEditor.h"
 #include "GUI/Views/InstrumentWidgets/EnvironmentEditor.h"
 #include "GUI/Views/InstrumentWidgets/GISASBeamEditor.h"
diff --git a/GUI/Views/InstrumentWidgets/InclinationAnglesEditor.cpp b/GUI/Views/InstrumentWidgets/InclinationAnglesEditor.cpp
index c7ea5de2364..fc49e5a11f3 100644
--- a/GUI/Views/InstrumentWidgets/InclinationAnglesEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/InclinationAnglesEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/InclinationAnglesEditor.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/PointwiseAxisItem.h"
-#include "GUI/Items/SpecularBeamInclinationItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
+#include "GUI/Models/Instrument/SpecularBeamInclinationItem.h"
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
 #include "GUI/Views/InstrumentWidgets/SphericalAxisEditor.h"
 #include "GUI/Views/PropertyEditor/GroupInfoBox.h"
diff --git a/GUI/Views/InstrumentWidgets/InstrumentEditor.cpp b/GUI/Views/InstrumentWidgets/InstrumentEditor.cpp
index a95e54e3ee6..55107a07a71 100644
--- a/GUI/Views/InstrumentWidgets/InstrumentEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/InstrumentEditor.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Views/InstrumentWidgets/InstrumentEditor.h"
 #include "Base/Utils/Assert.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Views/InstrumentWidgets/DepthProbeInstrumentEditor.h"
 #include "GUI/Views/InstrumentWidgets/GISASInstrumentEditor.h"
 #include "GUI/Views/InstrumentWidgets/OffSpecularInstrumentEditor.h"
diff --git a/GUI/Views/InstrumentWidgets/InstrumentLibraryEditor.cpp b/GUI/Views/InstrumentWidgets/InstrumentLibraryEditor.cpp
index 59c0d56f419..5cbf57a959a 100644
--- a/GUI/Views/InstrumentWidgets/InstrumentLibraryEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/InstrumentLibraryEditor.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Views/InstrumentWidgets/InstrumentLibraryEditor.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Session/SessionData.h"
 #include "GUI/Views/Main/MainWindow.h"
 #include "GUI/Widgets/Common/ItemViewOverlayButtons.h"
diff --git a/GUI/Views/InstrumentWidgets/InstrumentListModel.cpp b/GUI/Views/InstrumentWidgets/InstrumentListModel.cpp
index 681aef00deb..61feba65c76 100644
--- a/GUI/Views/InstrumentWidgets/InstrumentListModel.cpp
+++ b/GUI/Views/InstrumentWidgets/InstrumentListModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/InstrumentListModel.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 
 
diff --git a/GUI/Views/InstrumentWidgets/InstrumentListView.cpp b/GUI/Views/InstrumentWidgets/InstrumentListView.cpp
index 1e03d6180b6..89fa672e859 100644
--- a/GUI/Views/InstrumentWidgets/InstrumentListView.cpp
+++ b/GUI/Views/InstrumentWidgets/InstrumentListView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/InstrumentListView.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "GUI/Models/Project/ProjectDocument.h"
 #include "GUI/Session/SessionData.h"
diff --git a/GUI/Views/InstrumentWidgets/InstrumentView.cpp b/GUI/Views/InstrumentWidgets/InstrumentView.cpp
index f4f39529cec..29782ee2d56 100644
--- a/GUI/Views/InstrumentWidgets/InstrumentView.cpp
+++ b/GUI/Views/InstrumentWidgets/InstrumentView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/InstrumentView.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "GUI/Models/Project/ProjectDocument.h"
 #include "GUI/Views/InstrumentWidgets/InstrumentEditor.h"
diff --git a/GUI/Views/InstrumentWidgets/OffSpecularBeamEditor.cpp b/GUI/Views/InstrumentWidgets/OffSpecularBeamEditor.cpp
index b072ef49579..ec4de5f23ef 100644
--- a/GUI/Views/InstrumentWidgets/OffSpecularBeamEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/OffSpecularBeamEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/OffSpecularBeamEditor.h"
-#include "GUI/Items/BeamAngleItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/BeamAngleItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
 #include "GUI/Views/InstrumentWidgets/SphericalAxisEditor.h"
 
diff --git a/GUI/Views/InstrumentWidgets/OffSpecularInstrumentEditor.cpp b/GUI/Views/InstrumentWidgets/OffSpecularInstrumentEditor.cpp
index b82b2d7574b..008c70627f4 100644
--- a/GUI/Views/InstrumentWidgets/OffSpecularInstrumentEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/OffSpecularInstrumentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/OffSpecularInstrumentEditor.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Views/InstrumentWidgets/DetectorEditor.h"
 #include "GUI/Views/InstrumentWidgets/OffSpecularBeamEditor.h"
 #include "GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.h"
diff --git a/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp b/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp
index e4a14a69da8..4ba5a9e614c 100644
--- a/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.h"
-#include "GUI/Items/DetectorItems.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/DetectorItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Views/InstrumentWidgets/VectorEditor.h"
 
 #include <QCheckBox>
diff --git a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
index 12bf3d3b10d..9218a8f5fd9 100644
--- a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/RectangularDetectorEditor.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/RectangularDetectorItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Views/InstrumentWidgets/DetectorAlignmentEditor.h"
 #include "GUI/Views/InstrumentWidgets/ResolutionFunctionEditor.h"
 
diff --git a/GUI/Views/InstrumentWidgets/ResolutionFunctionEditor.cpp b/GUI/Views/InstrumentWidgets/ResolutionFunctionEditor.cpp
index fe7fe2f30c3..06afa222fa0 100644
--- a/GUI/Views/InstrumentWidgets/ResolutionFunctionEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/ResolutionFunctionEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/ResolutionFunctionEditor.h"
-#include "GUI/Items/DetectorItems.h"
-#include "GUI/Items/ResolutionFunctionItems.h"
+#include "GUI/Models/Instrument/DetectorItems.h"
+#include "GUI/Models/Sample/ResolutionFunctionItems.h"
 
 #include <QComboBox>
 #include <QDoubleSpinBox>
diff --git a/GUI/Views/InstrumentWidgets/SpecularBeamEditor.cpp b/GUI/Views/InstrumentWidgets/SpecularBeamEditor.cpp
index e75fbea112b..9739234d885 100644
--- a/GUI/Views/InstrumentWidgets/SpecularBeamEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/SpecularBeamEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/SpecularBeamEditor.h"
-#include "GUI/Items/BeamItems.h"
-#include "GUI/Items/BeamWavelengthItem.h"
+#include "GUI/Models/Instrument/BeamItems.h"
+#include "GUI/Models/Instrument/BeamWavelengthItem.h"
 #include "GUI/Views/InstrumentWidgets/DistributionEditor.h"
 #include "GUI/Views/InstrumentWidgets/FootprintCorrectionEditor.h"
 #include "GUI/Views/InstrumentWidgets/InclinationAnglesEditor.h"
diff --git a/GUI/Views/InstrumentWidgets/SpecularInstrumentEditor.cpp b/GUI/Views/InstrumentWidgets/SpecularInstrumentEditor.cpp
index c853b618348..fd3ef00b548 100644
--- a/GUI/Views/InstrumentWidgets/SpecularInstrumentEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/SpecularInstrumentEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/SpecularInstrumentEditor.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Views/InstrumentWidgets/EnvironmentEditor.h"
 #include "GUI/Views/InstrumentWidgets/PolarizationAnalysisEditor.h"
 #include "GUI/Views/InstrumentWidgets/SpecularBeamEditor.h"
diff --git a/GUI/Views/InstrumentWidgets/SphericalAxisEditor.cpp b/GUI/Views/InstrumentWidgets/SphericalAxisEditor.cpp
index 6fd56673e56..3831c1b2208 100644
--- a/GUI/Views/InstrumentWidgets/SphericalAxisEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/SphericalAxisEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/SphericalAxisEditor.h"
-#include "GUI/Items/AxesItems.h"
+#include "GUI/Models/Data/AxesItems.h"
 
 #include <QDoubleSpinBox>
 #include <QFormLayout>
diff --git a/GUI/Views/InstrumentWidgets/SphericalDetectorEditor.cpp b/GUI/Views/InstrumentWidgets/SphericalDetectorEditor.cpp
index 1d7912a29c5..e8253a194e9 100644
--- a/GUI/Views/InstrumentWidgets/SphericalDetectorEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/SphericalDetectorEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/SphericalDetectorEditor.h"
-#include "GUI/Items/SphericalDetectorItem.h"
+#include "GUI/Models/Instrument/SphericalDetectorItem.h"
 #include "GUI/Views/InstrumentWidgets/ResolutionFunctionEditor.h"
 #include "GUI/Views/InstrumentWidgets/SphericalAxisEditor.h"
 
diff --git a/GUI/Views/InstrumentWidgets/VectorEditor.cpp b/GUI/Views/InstrumentWidgets/VectorEditor.cpp
index e6189930c94..050a17a58d1 100644
--- a/GUI/Views/InstrumentWidgets/VectorEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/VectorEditor.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/InstrumentWidgets/VectorEditor.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 
 #include <QDoubleSpinBox>
 #include <QFormLayout>
diff --git a/GUI/Views/IntensityDataWidgets/ColorMap.cpp b/GUI/Views/IntensityDataWidgets/ColorMap.cpp
index 0bc79247e12..3992bfe6b91 100644
--- a/GUI/Views/IntensityDataWidgets/ColorMap.cpp
+++ b/GUI/Views/IntensityDataWidgets/ColorMap.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/IntensityDataWidgets/ColorMap.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/IntensityDataItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMapUtils.h"
 #include "GUI/Views/IntensityDataWidgets/PlotEventInfo.h"
 #include "GUI/Views/IntensityDataWidgets/PlotConstants.h"
diff --git a/GUI/Views/IntensityDataWidgets/ColorMapCanvas.cpp b/GUI/Views/IntensityDataWidgets/ColorMapCanvas.cpp
index f3c299d71d2..9224b5fb3ef 100644
--- a/GUI/Views/IntensityDataWidgets/ColorMapCanvas.cpp
+++ b/GUI/Views/IntensityDataWidgets/ColorMapCanvas.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/IntensityDataWidgets/ColorMapCanvas.h"
-#include "GUI/Items/IntensityDataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMap.h"
 #include "GUI/Views/IntensityDataWidgets/FontScalingEvent.h"
 #include "GUI/Views/IntensityDataWidgets/PlotStatusLabel.h"
diff --git a/GUI/Views/IntensityDataWidgets/ColorMapUtils.cpp b/GUI/Views/IntensityDataWidgets/ColorMapUtils.cpp
index 2f6eca81f0d..25c669e19dc 100644
--- a/GUI/Views/IntensityDataWidgets/ColorMapUtils.cpp
+++ b/GUI/Views/IntensityDataWidgets/ColorMapUtils.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/IntensityDataWidgets/ColorMapUtils.h"
-#include "GUI/Items/IntensityDataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 #include "GUI/utils/Error.h"
 
diff --git a/GUI/Views/IntensityDataWidgets/IntensityDataCanvas.cpp b/GUI/Views/IntensityDataWidgets/IntensityDataCanvas.cpp
index abe5e6bd377..529a203923a 100644
--- a/GUI/Views/IntensityDataWidgets/IntensityDataCanvas.cpp
+++ b/GUI/Views/IntensityDataWidgets/IntensityDataCanvas.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/IntensityDataWidgets/IntensityDataCanvas.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMap.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMapCanvas.h"
diff --git a/GUI/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp b/GUI/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp
index b7b3e547d6b..33d3c21b5c3 100644
--- a/GUI/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp
+++ b/GUI/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/Views/IntensityDataWidgets/IntensityDataFFTPresenter.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/utils/Error.h"
 #include <QAction>
 #include <QApplication>
diff --git a/GUI/Views/IntensityDataWidgets/IntensityDataWidget.cpp b/GUI/Views/IntensityDataWidgets/IntensityDataWidget.cpp
index cb8e2841531..46ee127c46a 100644
--- a/GUI/Views/IntensityDataWidgets/IntensityDataWidget.cpp
+++ b/GUI/Views/IntensityDataWidgets/IntensityDataWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/IntensityDataWidgets/IntensityDataWidget.h"
-#include "GUI/Items/DataItemUtils.h"
-#include "GUI/Items/IntensityDataItem.h"
+#include "GUI/Models/Data/DataItemUtils.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataCanvas.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataFFTPresenter.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataPropertyWidget.h"
diff --git a/GUI/Views/IntensityDataWidgets/Plot1D.cpp b/GUI/Views/IntensityDataWidgets/Plot1D.cpp
index bb2e1c8993b..665f3f6992e 100644
--- a/GUI/Views/IntensityDataWidgets/Plot1D.cpp
+++ b/GUI/Views/IntensityDataWidgets/Plot1D.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/IntensityDataWidgets/Plot1D.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/DataItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Data/DataItem.h"
 #include "GUI/Models/Data/DataProperties.h"
 #include "GUI/Models/Data/DataPropertyContainer.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMapUtils.h"
diff --git a/GUI/Views/IntensityDataWidgets/PropertyRepeater.cpp b/GUI/Views/IntensityDataWidgets/PropertyRepeater.cpp
index 3cf7d1d4fca..dd9856f2fef 100644
--- a/GUI/Views/IntensityDataWidgets/PropertyRepeater.cpp
+++ b/GUI/Views/IntensityDataWidgets/PropertyRepeater.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/IntensityDataWidgets/PropertyRepeater.h"
-#include "GUI/Items/IntensityDataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
 
 PropertyRepeater::PropertyRepeater(QObject* parent, bool repeat_child_properties)
     : QObject(parent), m_block_repeater(false), m_repeat_child_properties(repeat_child_properties)
diff --git a/GUI/Views/JobWidgets/FitComparisonController.cpp b/GUI/Views/JobWidgets/FitComparisonController.cpp
index bd637cc3562..d9344b10ebd 100644
--- a/GUI/Views/JobWidgets/FitComparisonController.cpp
+++ b/GUI/Views/JobWidgets/FitComparisonController.cpp
@@ -14,12 +14,12 @@
 
 #include "GUI/Views/JobWidgets/FitComparisonController.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/PropertyRepeater.h"
 
 namespace {
diff --git a/GUI/Views/JobWidgets/FitComparisonViewController.cpp b/GUI/Views/JobWidgets/FitComparisonViewController.cpp
index 9e1fd85bc45..bb6fb7e4e9a 100644
--- a/GUI/Views/JobWidgets/FitComparisonViewController.cpp
+++ b/GUI/Views/JobWidgets/FitComparisonViewController.cpp
@@ -14,13 +14,13 @@
 
 #include "GUI/Views/JobWidgets/FitComparisonViewController.h"
 #include "Device/Data/DataUtils.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Models/Data/DataPropertyContainer.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/Views/IntensityDataWidgets/PropertyRepeater.h"
diff --git a/GUI/Views/JobWidgets/FitComparisonWidget.cpp b/GUI/Views/JobWidgets/FitComparisonWidget.cpp
index 71f56393b16..e4c33b7aed5 100644
--- a/GUI/Views/JobWidgets/FitComparisonWidget.cpp
+++ b/GUI/Views/JobWidgets/FitComparisonWidget.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/FitComparisonWidget.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMap.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMapCanvas.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataPropertyWidget.h"
diff --git a/GUI/Views/JobWidgets/FitComparisonWidget1D.cpp b/GUI/Views/JobWidgets/FitComparisonWidget1D.cpp
index 469f51a290c..b3b6578ef69 100644
--- a/GUI/Views/JobWidgets/FitComparisonWidget1D.cpp
+++ b/GUI/Views/JobWidgets/FitComparisonWidget1D.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/FitComparisonWidget1D.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/FitSuiteItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataPropertyWidget.h"
 #include "GUI/Views/IntensityDataWidgets/Plot1D.h"
 #include "GUI/Views/IntensityDataWidgets/PlotStatusLabel.h"
diff --git a/GUI/Views/JobWidgets/FitFlowWidget.cpp b/GUI/Views/JobWidgets/FitFlowWidget.cpp
index c71449437a6..1e7b262ecd6 100644
--- a/GUI/Views/JobWidgets/FitFlowWidget.cpp
+++ b/GUI/Views/JobWidgets/FitFlowWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/FitFlowWidget.h"
-#include "GUI/Items/FitSuiteItem.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
 #include "GUI/Views/JobWidgets/HistogramPlot.h"
 #include <QVBoxLayout>
 
diff --git a/GUI/Views/JobWidgets/JobListModel.cpp b/GUI/Views/JobWidgets/JobListModel.cpp
index 5ea700e9123..9b9a344d19d 100644
--- a/GUI/Views/JobWidgets/JobListModel.cpp
+++ b/GUI/Views/JobWidgets/JobListModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/JobListModel.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Models/Job/JobModel.h"
 
 //==================================================================================================
diff --git a/GUI/Views/JobWidgets/JobListView.cpp b/GUI/Views/JobWidgets/JobListView.cpp
index 39aee253b0e..7aa9e434605 100644
--- a/GUI/Views/JobWidgets/JobListView.cpp
+++ b/GUI/Views/JobWidgets/JobListView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/JobListView.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/Views/JobWidgets/JobListModel.h"
 #include "GUI/Views/JobWidgets/JobListViewDelegate.h"
diff --git a/GUI/Views/JobWidgets/JobListViewDelegate.cpp b/GUI/Views/JobWidgets/JobListViewDelegate.cpp
index eb14a8d46a6..c8cc87825b5 100644
--- a/GUI/Views/JobWidgets/JobListViewDelegate.cpp
+++ b/GUI/Views/JobWidgets/JobListViewDelegate.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/JobListViewDelegate.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Views/JobWidgets/JobListModel.h"
 #include <QApplication>
 #include <QMouseEvent>
diff --git a/GUI/Views/JobWidgets/JobPropertiesTableModel.cpp b/GUI/Views/JobWidgets/JobPropertiesTableModel.cpp
index 900eac745fa..8343991912b 100644
--- a/GUI/Views/JobWidgets/JobPropertiesTableModel.cpp
+++ b/GUI/Views/JobWidgets/JobPropertiesTableModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/JobPropertiesTableModel.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include <QLocale>
 
 namespace {
diff --git a/GUI/Views/JobWidgets/JobPropertiesWidget.cpp b/GUI/Views/JobWidgets/JobPropertiesWidget.cpp
index 4d46209d8fb..64d10ecec59 100644
--- a/GUI/Views/JobWidgets/JobPropertiesWidget.cpp
+++ b/GUI/Views/JobWidgets/JobPropertiesWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/JobPropertiesWidget.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Views/JobWidgets/JobPropertiesTableModel.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 #include "GUI/utils/mainwindow_constants.h"
diff --git a/GUI/Views/JobWidgets/JobResultsPresenter.cpp b/GUI/Views/JobWidgets/JobResultsPresenter.cpp
index 1e4443d3679..9518b563207 100644
--- a/GUI/Views/JobWidgets/JobResultsPresenter.cpp
+++ b/GUI/Views/JobWidgets/JobResultsPresenter.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/JobResultsPresenter.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataWidget.h"
 #include "GUI/Views/JobWidgets/FitComparisonWidget.h"
 #include "GUI/Views/JobWidgets/FitComparisonWidget1D.h"
diff --git a/GUI/Views/JobWidgets/JobSelectorWidget.cpp b/GUI/Views/JobWidgets/JobSelectorWidget.cpp
index 66a65af95e0..019c991018d 100644
--- a/GUI/Views/JobWidgets/JobSelectorWidget.cpp
+++ b/GUI/Views/JobWidgets/JobSelectorWidget.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Views/JobWidgets/JobSelectorWidget.h"
 #include "Base/Utils/Assert.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Views/JobWidgets/JobListView.h"
 #include "GUI/Views/JobWidgets/JobPropertiesWidget.h"
 #include "GUI/utils/mainwindow_constants.h"
diff --git a/GUI/Views/JobWidgets/JobView.cpp b/GUI/Views/JobWidgets/JobView.cpp
index 8c5e7f13b81..f13db1f1229 100644
--- a/GUI/Views/JobWidgets/JobView.cpp
+++ b/GUI/Views/JobWidgets/JobView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/JobWidgets/JobView.h"
-#include "GUI/Items/JobItem.h"
+#include "GUI/Models/Job/JobItem.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/Views/FitWidgets/FitActivityPanel.h"
 #include "GUI/Views/FitWidgets/JobRealTimeWidget.h"
diff --git a/GUI/Views/Loaders/AutomaticDataLoader1D.cpp b/GUI/Views/Loaders/AutomaticDataLoader1D.cpp
index b3191d93581..926b5367d84 100644
--- a/GUI/Views/Loaders/AutomaticDataLoader1D.cpp
+++ b/GUI/Views/Loaders/AutomaticDataLoader1D.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/Views/Loaders/AutomaticDataLoader1D.h"
 #include "Device/InputOutput/OutputDataReadReflectometry.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Models/Data/ImportDataInfo.h"
 #include "GUI/Views/Loaders/AutomaticDataLoader1DResultModel.h"
 #include "GUI/utils/DeserializationException.h"
diff --git a/GUI/Views/Loaders/AutomaticDataLoader1DResultModel.cpp b/GUI/Views/Loaders/AutomaticDataLoader1DResultModel.cpp
index ccabbe28a68..ba432040309 100644
--- a/GUI/Views/Loaders/AutomaticDataLoader1DResultModel.cpp
+++ b/GUI/Views/Loaders/AutomaticDataLoader1DResultModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/Loaders/AutomaticDataLoader1DResultModel.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 
 AutomaticDataLoader1DResultModel::AutomaticDataLoader1DResultModel(RealDataItem* item)
     : m_item(item)
diff --git a/GUI/Views/Loaders/QREDataLoader.cpp b/GUI/Views/Loaders/QREDataLoader.cpp
index 00ed17eea82..0cf5272d31f 100644
--- a/GUI/Views/Loaders/QREDataLoader.cpp
+++ b/GUI/Views/Loaders/QREDataLoader.cpp
@@ -15,9 +15,9 @@
 #include "GUI/Views/Loaders/QREDataLoader.h"
 #include "Base/Axis/PointwiseAxis.h"
 #include "Device/Coord/AxisNames.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Views/Loaders/QREDataLoaderProperties.h"
 #include "GUI/Views/Loaders/QREDataLoaderResultModel.h"
 #include "GUI/utils/DeserializationException.h"
diff --git a/GUI/Views/MaskWidgets/EllipseView.cpp b/GUI/Views/MaskWidgets/EllipseView.cpp
index b420c6ccf46..cd2f51cb5d0 100644
--- a/GUI/Views/MaskWidgets/EllipseView.cpp
+++ b/GUI/Views/MaskWidgets/EllipseView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/EllipseView.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include <QGraphicsSceneMouseEvent>
 #include <QPainter>
 
diff --git a/GUI/Views/MaskWidgets/IShape2DView.cpp b/GUI/Views/MaskWidgets/IShape2DView.cpp
index dbd65922896..426f84479e7 100644
--- a/GUI/Views/MaskWidgets/IShape2DView.cpp
+++ b/GUI/Views/MaskWidgets/IShape2DView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/IShape2DView.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "GUI/Views/MaskWidgets/ISceneAdaptor.h"
 #include <QAction>
 #include <QGraphicsScene>
diff --git a/GUI/Views/MaskWidgets/LineViews.cpp b/GUI/Views/MaskWidgets/LineViews.cpp
index 378aabc0230..68cf9ff0ff1 100644
--- a/GUI/Views/MaskWidgets/LineViews.cpp
+++ b/GUI/Views/MaskWidgets/LineViews.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/LineViews.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "GUI/Views/MaskWidgets/ColorMapSceneAdaptor.h"
 #include <QCursor>
 #include <QPainter>
diff --git a/GUI/Views/MaskWidgets/MaskAllView.cpp b/GUI/Views/MaskWidgets/MaskAllView.cpp
index 854dcfce79c..bafa148ea87 100644
--- a/GUI/Views/MaskWidgets/MaskAllView.cpp
+++ b/GUI/Views/MaskWidgets/MaskAllView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskAllView.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "GUI/Views/MaskWidgets/ColorMapSceneAdaptor.h"
 #include <QBrush>
 #include <QPainter>
diff --git a/GUI/Views/MaskWidgets/MaskContainerView.cpp b/GUI/Views/MaskWidgets/MaskContainerView.cpp
index 623a17cb5c8..cd007e0d51f 100644
--- a/GUI/Views/MaskWidgets/MaskContainerView.cpp
+++ b/GUI/Views/MaskWidgets/MaskContainerView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskContainerView.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
 #include "GUI/Views/MaskWidgets/ISceneAdaptor.h"
 #include <QBrush>
 #include <QPainter>
diff --git a/GUI/Views/MaskWidgets/MaskDrawingContext.cpp b/GUI/Views/MaskWidgets/MaskDrawingContext.cpp
index 2f352d65172..a91313ee50c 100644
--- a/GUI/Views/MaskWidgets/MaskDrawingContext.cpp
+++ b/GUI/Views/MaskWidgets/MaskDrawingContext.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskDrawingContext.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 
 MaskDrawingContext::MaskDrawingContext()
     : m_current_activity(MaskEditorFlags::PAN_ZOOM_MODE)
diff --git a/GUI/Views/MaskWidgets/MaskEditor.cpp b/GUI/Views/MaskWidgets/MaskEditor.cpp
index 7a7463918c1..528ee6049de 100644
--- a/GUI/Views/MaskWidgets/MaskEditor.cpp
+++ b/GUI/Views/MaskWidgets/MaskEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskEditor.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/MaskWidgets/MaskEditorActions.h"
 #include "GUI/Views/MaskWidgets/MaskEditorCanvas.h"
 #include "GUI/Views/MaskWidgets/MaskEditorPropertyPanel.h"
diff --git a/GUI/Views/MaskWidgets/MaskEditorActions.cpp b/GUI/Views/MaskWidgets/MaskEditorActions.cpp
index 26ced3c2ae5..538bec61cca 100644
--- a/GUI/Views/MaskWidgets/MaskEditorActions.cpp
+++ b/GUI/Views/MaskWidgets/MaskEditorActions.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskEditorActions.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include <QAction>
 #include <QItemSelectionModel>
 #include <QMenu>
diff --git a/GUI/Views/MaskWidgets/MaskEditorCanvas.cpp b/GUI/Views/MaskWidgets/MaskEditorCanvas.cpp
index 8a14056b34d..f9945e88f7b 100644
--- a/GUI/Views/MaskWidgets/MaskEditorCanvas.cpp
+++ b/GUI/Views/MaskWidgets/MaskEditorCanvas.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskEditorCanvas.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMap.h"
 #include "GUI/Views/IntensityDataWidgets/PlotStatusLabel.h"
 #include "GUI/Views/IntensityDataWidgets/SavePlotAssistant.h"
diff --git a/GUI/Views/MaskWidgets/MaskEditorPropertyPanel.cpp b/GUI/Views/MaskWidgets/MaskEditorPropertyPanel.cpp
index 8d426dc162a..18a969ec4d2 100644
--- a/GUI/Views/MaskWidgets/MaskEditorPropertyPanel.cpp
+++ b/GUI/Views/MaskWidgets/MaskEditorPropertyPanel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskEditorPropertyPanel.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/PropertyEditor/ComponentEditor.h"
 
 #include <qAccordion/contentpane.h>
diff --git a/GUI/Views/MaskWidgets/MaskGraphicsProxy.cpp b/GUI/Views/MaskWidgets/MaskGraphicsProxy.cpp
index dbc57044693..99a7deff88e 100644
--- a/GUI/Views/MaskWidgets/MaskGraphicsProxy.cpp
+++ b/GUI/Views/MaskWidgets/MaskGraphicsProxy.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskGraphicsProxy.h"
-#include "GUI/Items/IntensityDataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMap.h"
 #include "GUI/Views/MaskWidgets/ColorMapSceneAdaptor.h"
 #include <QGraphicsSceneMouseEvent>
diff --git a/GUI/Views/MaskWidgets/MaskGraphicsScene.cpp b/GUI/Views/MaskWidgets/MaskGraphicsScene.cpp
index f7fdaed79a9..4efb7015bcd 100644
--- a/GUI/Views/MaskWidgets/MaskGraphicsScene.cpp
+++ b/GUI/Views/MaskWidgets/MaskGraphicsScene.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskGraphicsScene.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/MaskWidgets/ColorMapSceneAdaptor.h"
 #include "GUI/Views/MaskWidgets/MaskGraphicsProxy.h"
 #include "GUI/Views/MaskWidgets/MaskViewFactory.h"
diff --git a/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp b/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp
index 63e58309e34..8b7682579ac 100644
--- a/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp
+++ b/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp
@@ -14,9 +14,9 @@
 
 #include "GUI/Views/MaskWidgets/MaskResultsPresenter.h"
 #include "Device/Mask/DetectorMask.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include <QVBoxLayout>
 
 MaskResultsPresenter::MaskResultsPresenter(QWidget* parent)
diff --git a/GUI/Views/MaskWidgets/MaskViewFactory.cpp b/GUI/Views/MaskWidgets/MaskViewFactory.cpp
index 0225fdb91d5..651837eea0b 100644
--- a/GUI/Views/MaskWidgets/MaskViewFactory.cpp
+++ b/GUI/Views/MaskWidgets/MaskViewFactory.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskViewFactory.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Views/MaskWidgets/EllipseView.h"
 #include "GUI/Views/MaskWidgets/LineViews.h"
 #include "GUI/Views/MaskWidgets/MaskAllView.h"
diff --git a/GUI/Views/MaskWidgets/PolygonPointView.cpp b/GUI/Views/MaskWidgets/PolygonPointView.cpp
index 312d6c72acb..6e13a8c9b75 100644
--- a/GUI/Views/MaskWidgets/PolygonPointView.cpp
+++ b/GUI/Views/MaskWidgets/PolygonPointView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/PolygonPointView.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include <QGraphicsSceneMouseEvent>
 #include <QPainter>
 
diff --git a/GUI/Views/MaskWidgets/PolygonView.cpp b/GUI/Views/MaskWidgets/PolygonView.cpp
index 6992be50707..a0ea01d014d 100644
--- a/GUI/Views/MaskWidgets/PolygonView.cpp
+++ b/GUI/Views/MaskWidgets/PolygonView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/PolygonView.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "GUI/Views/MaskWidgets/PolygonPointView.h"
 #include <QCursor>
 #include <QPainter>
diff --git a/GUI/Views/MaskWidgets/RectangleView.cpp b/GUI/Views/MaskWidgets/RectangleView.cpp
index 905033b0e15..021b3248fe7 100644
--- a/GUI/Views/MaskWidgets/RectangleView.cpp
+++ b/GUI/Views/MaskWidgets/RectangleView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/RectangleView.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include <QGraphicsSceneMouseEvent>
 #include <QPainter>
 
diff --git a/GUI/Views/MaskWidgets/RegionOfInterestView.cpp b/GUI/Views/MaskWidgets/RegionOfInterestView.cpp
index 7d0b44caa46..f9032362a03 100644
--- a/GUI/Views/MaskWidgets/RegionOfInterestView.cpp
+++ b/GUI/Views/MaskWidgets/RegionOfInterestView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/RegionOfInterestView.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "GUI/Views/MaskWidgets/ISceneAdaptor.h"
 #include <QPainter>
 
diff --git a/GUI/Views/MaterialEditor/MaterialEditorDialog.cpp b/GUI/Views/MaterialEditor/MaterialEditorDialog.cpp
index 4b78a151346..f1bc633a2c6 100644
--- a/GUI/Views/MaterialEditor/MaterialEditorDialog.cpp
+++ b/GUI/Views/MaterialEditor/MaterialEditorDialog.cpp
@@ -14,9 +14,9 @@
 
 #include "GUI/Views/MaterialEditor/MaterialEditorDialog.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/ItemWithMaterial.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Varia/ItemWithMaterial.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "GUI/Models/Material/MaterialModelStore.h"
 #include "GUI/Models/Project/ProjectDocument.h"
diff --git a/GUI/Views/MaterialEditor/MaterialEditorModel.cpp b/GUI/Views/MaterialEditor/MaterialEditorModel.cpp
index 54acf9182f3..81f6dfec80d 100644
--- a/GUI/Views/MaterialEditor/MaterialEditorModel.cpp
+++ b/GUI/Views/MaterialEditor/MaterialEditorModel.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaterialEditor/MaterialEditorModel.h"
-#include "GUI/Items/MaterialItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Material/MaterialItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include <QApplication>
 #include <QFontMetrics>
diff --git a/GUI/Views/ProjectionsWidgets/IntensityDataProjectionsWidget.cpp b/GUI/Views/ProjectionsWidgets/IntensityDataProjectionsWidget.cpp
index bb3fd29dbe3..96efe85d4fe 100644
--- a/GUI/Views/ProjectionsWidgets/IntensityDataProjectionsWidget.cpp
+++ b/GUI/Views/ProjectionsWidgets/IntensityDataProjectionsWidget.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ProjectionsWidgets/IntensityDataProjectionsWidget.h"
-#include "GUI/Items/DataItemUtils.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/ProjectionItems.h"
+#include "GUI/Models/Data/DataItemUtils.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
 #include "GUI/Views/ProjectionsWidgets/ProjectionsEditor.h"
 #include <QVBoxLayout>
 
diff --git a/GUI/Views/ProjectionsWidgets/ProjectionsEditor.cpp b/GUI/Views/ProjectionsWidgets/ProjectionsEditor.cpp
index 1a7b90d596e..8e4319d0d56 100644
--- a/GUI/Views/ProjectionsWidgets/ProjectionsEditor.cpp
+++ b/GUI/Views/ProjectionsWidgets/ProjectionsEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ProjectionsWidgets/ProjectionsEditor.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/ProjectionsWidgets/ProjectionsEditorActions.h"
 #include "GUI/Views/ProjectionsWidgets/ProjectionsEditorCanvas.h"
 #include "GUI/Views/ProjectionsWidgets/ProjectionsPropertyPanel.h"
diff --git a/GUI/Views/ProjectionsWidgets/ProjectionsEditorActions.cpp b/GUI/Views/ProjectionsWidgets/ProjectionsEditorActions.cpp
index 9da347f569d..795864e2c9b 100644
--- a/GUI/Views/ProjectionsWidgets/ProjectionsEditorActions.cpp
+++ b/GUI/Views/ProjectionsWidgets/ProjectionsEditorActions.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ProjectionsWidgets/ProjectionsEditorActions.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/ProjectionsWidgets/SaveProjectionsAssistant.h"
 #include <QAction>
 #include <QItemSelectionModel>
diff --git a/GUI/Views/ProjectionsWidgets/ProjectionsEditorCanvas.cpp b/GUI/Views/ProjectionsWidgets/ProjectionsEditorCanvas.cpp
index be6f618cc8e..724a549e5a4 100644
--- a/GUI/Views/ProjectionsWidgets/ProjectionsEditorCanvas.cpp
+++ b/GUI/Views/ProjectionsWidgets/ProjectionsEditorCanvas.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ProjectionsWidgets/ProjectionsEditorCanvas.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMap.h"
 #include "GUI/Views/IntensityDataWidgets/PlotStatusLabel.h"
 #include "GUI/Views/IntensityDataWidgets/ScientificPlotEvent.h"
diff --git a/GUI/Views/ProjectionsWidgets/ProjectionsPlot.cpp b/GUI/Views/ProjectionsWidgets/ProjectionsPlot.cpp
index 6c704a42d44..e1d0de9de05 100644
--- a/GUI/Views/ProjectionsWidgets/ProjectionsPlot.cpp
+++ b/GUI/Views/ProjectionsWidgets/ProjectionsPlot.cpp
@@ -15,10 +15,10 @@
 #include "GUI/Views/ProjectionsWidgets/ProjectionsPlot.h"
 #include "Device/Histo/Histogram1D.h"
 #include "Device/Histo/Histogram2D.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMapUtils.h"
 #include "GUI/Views/IntensityDataWidgets/PlotConstants.h"
 #include <qcustomplot.h>
diff --git a/GUI/Views/ProjectionsWidgets/ProjectionsWidget.cpp b/GUI/Views/ProjectionsWidgets/ProjectionsWidget.cpp
index f64b85980df..05a14da10e2 100644
--- a/GUI/Views/ProjectionsWidgets/ProjectionsWidget.cpp
+++ b/GUI/Views/ProjectionsWidgets/ProjectionsWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/ProjectionsWidgets/ProjectionsWidget.h"
-#include "GUI/Items/MaskItems.h"
+#include "GUI/Models/Instrument/MaskItems.h"
 #include "GUI/Views/ProjectionsWidgets/ProjectionsPlot.h"
 #include <QTabWidget>
 #include <QVBoxLayout>
diff --git a/GUI/Views/ProjectionsWidgets/SaveProjectionsAssistant.cpp b/GUI/Views/ProjectionsWidgets/SaveProjectionsAssistant.cpp
index 8e8591a6d95..f8eb8a4202a 100644
--- a/GUI/Views/ProjectionsWidgets/SaveProjectionsAssistant.cpp
+++ b/GUI/Views/ProjectionsWidgets/SaveProjectionsAssistant.cpp
@@ -17,9 +17,9 @@
 #include "Device/Histo/Histogram1D.h"
 #include "Device/Histo/Histogram2D.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/ProjectionItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
 #include "GUI/Views/Main/ProjectManager.h"
 #include "GUI/utils/Error.h"
 #include <QFileDialog>
diff --git a/GUI/Views/PropertyEditor/ComponentFlatView.cpp b/GUI/Views/PropertyEditor/ComponentFlatView.cpp
index 0c1f98797ed..d81ecae02e8 100644
--- a/GUI/Views/PropertyEditor/ComponentFlatView.cpp
+++ b/GUI/Views/PropertyEditor/ComponentFlatView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/PropertyEditor/ComponentFlatView.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Mapper/ComponentUtils.h"
 #include "GUI/Views/PropertyEditor/PropertyEditorFactory.h"
 #include "GUI/Views/PropertyEditor/PropertyWidgetItem.h"
diff --git a/GUI/Views/PropertyEditor/ComponentTreeActions.cpp b/GUI/Views/PropertyEditor/ComponentTreeActions.cpp
index f5253333623..a7f759a0ea5 100644
--- a/GUI/Views/PropertyEditor/ComponentTreeActions.cpp
+++ b/GUI/Views/PropertyEditor/ComponentTreeActions.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/PropertyEditor/ComponentTreeActions.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include <QAction>
 #include <QMenu>
 
diff --git a/GUI/Views/PropertyEditor/ComponentTreeView.cpp b/GUI/Views/PropertyEditor/ComponentTreeView.cpp
index ff9d8ed0ea4..d8ba9cc2a56 100644
--- a/GUI/Views/PropertyEditor/ComponentTreeView.cpp
+++ b/GUI/Views/PropertyEditor/ComponentTreeView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/PropertyEditor/ComponentTreeView.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Mapper/ComponentProxyModel.h"
 #include "GUI/Views/PropertyEditor/ComponentTreeActions.h"
 #include "GUI/Views/PropertyEditor/SessionModelDelegate.h"
diff --git a/GUI/Views/PropertyEditor/CustomEditors.cpp b/GUI/Views/PropertyEditor/CustomEditors.cpp
index c1ae86f98d2..04da235646e 100644
--- a/GUI/Views/PropertyEditor/CustomEditors.cpp
+++ b/GUI/Views/PropertyEditor/CustomEditors.cpp
@@ -15,7 +15,7 @@
 #include "GUI/Views/PropertyEditor/CustomEditors.h"
 #include "Base/Utils/Assert.h"
 #include "Fit/Param/RealLimits.h"
-#include "GUI/Items/MaterialItemUtils.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/Session/SessionData.h"
 #include "GUI/Views/Main/ProjectManager.h"
diff --git a/GUI/Views/PropertyEditor/PropertyEditorFactory.cpp b/GUI/Views/PropertyEditor/PropertyEditorFactory.cpp
index 88c5b0ce682..4d4958785e4 100644
--- a/GUI/Views/PropertyEditor/PropertyEditorFactory.cpp
+++ b/GUI/Views/PropertyEditor/PropertyEditorFactory.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/PropertyEditor/PropertyEditorFactory.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/SessionFlags.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Session/SessionFlags.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/Views/PropertyEditor/MultiComboPropertyEditor.h"
 #include "GUI/Widgets/Common/ScientificSpinBox.h"
diff --git a/GUI/Views/PropertyEditor/PropertyWidgetItem.cpp b/GUI/Views/PropertyEditor/PropertyWidgetItem.cpp
index 108345f9506..9e4bd3e33a3 100644
--- a/GUI/Views/PropertyEditor/PropertyWidgetItem.cpp
+++ b/GUI/Views/PropertyEditor/PropertyWidgetItem.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/PropertyEditor/PropertyWidgetItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/PropertyEditor/CustomEditors.h"
 #include "GUI/Views/PropertyEditor/SessionModelDelegate.h"
 #include <QComboBox>
diff --git a/GUI/Views/PropertyEditor/SessionModelDelegate.cpp b/GUI/Views/PropertyEditor/SessionModelDelegate.cpp
index 2bcb78ad8dc..d333d11cf8c 100644
--- a/GUI/Views/PropertyEditor/SessionModelDelegate.cpp
+++ b/GUI/Views/PropertyEditor/SessionModelDelegate.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/PropertyEditor/SessionModelDelegate.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Views/PropertyEditor/CustomEditors.h"
 #include "GUI/Views/PropertyEditor/PropertyEditorFactory.h"
 #include "GUI/utils/CustomEventFilters.h"
diff --git a/GUI/Views/PropertyEditor/TestComponentView.cpp b/GUI/Views/PropertyEditor/TestComponentView.cpp
index d30e1baeca0..d93af99a7d0 100644
--- a/GUI/Views/PropertyEditor/TestComponentView.cpp
+++ b/GUI/Views/PropertyEditor/TestComponentView.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/PropertyEditor/TestComponentView.h"
-#include "GUI/Items/BeamItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/BeamItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Data/GUIObjectBuilder.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "GUI/Models/Sample/GUIDomainSampleVisitor.h"
diff --git a/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp b/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp
index a28f5c7eb71..38b0870f41d 100644
--- a/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp
+++ b/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp
@@ -13,14 +13,14 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/RealSpaceWidgets/RealSpaceBuilder.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "GUI/Views/RealSpaceWidgets/Particle3DContainer.h"
 #include "GUI/Views/RealSpaceWidgets/RealSpaceBuilderUtils.h"
diff --git a/GUI/Views/RealSpaceWidgets/RealSpaceBuilderUtils.cpp b/GUI/Views/RealSpaceWidgets/RealSpaceBuilderUtils.cpp
index cfcb794f86d..6eb25531d0d 100644
--- a/GUI/Views/RealSpaceWidgets/RealSpaceBuilderUtils.cpp
+++ b/GUI/Views/RealSpaceWidgets/RealSpaceBuilderUtils.cpp
@@ -14,12 +14,12 @@
 
 #include "GUI/Views/RealSpaceWidgets/RealSpaceBuilderUtils.h"
 #include "Base/Const/Units.h"
-#include "GUI/Items/MaterialItem.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Material/MaterialItem.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "GUI/Models/Material/MaterialModelStore.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
diff --git a/GUI/Views/RealSpaceWidgets/RealSpaceCanvas.cpp b/GUI/Views/RealSpaceWidgets/RealSpaceCanvas.cpp
index 900f4081c2f..b78c840b709 100644
--- a/GUI/Views/RealSpaceWidgets/RealSpaceCanvas.cpp
+++ b/GUI/Views/RealSpaceWidgets/RealSpaceCanvas.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Views/RealSpaceWidgets/RealSpaceCanvas.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 #include "GUI/Models/Parameter/FilterPropertyProxy.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Views/Main/ProjectManager.h"
diff --git a/GUI/Views/RealSpaceWidgets/RealSpaceMesoCrystalUtils.cpp b/GUI/Views/RealSpaceWidgets/RealSpaceMesoCrystalUtils.cpp
index 2c671c0c599..b91ad0065b4 100644
--- a/GUI/Views/RealSpaceWidgets/RealSpaceMesoCrystalUtils.cpp
+++ b/GUI/Views/RealSpaceWidgets/RealSpaceMesoCrystalUtils.cpp
@@ -14,8 +14,8 @@
 
 #include "GUI/Views/RealSpaceWidgets/RealSpaceMesoCrystalUtils.h"
 #include "Base/Const/Units.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
 #include "GUI/Views/RealSpaceWidgets/Particle3DContainer.h"
 #include "GUI/Views/RealSpaceWidgets/RealSpaceBuilderUtils.h"
 #include "GUI/Views/RealSpaceWidgets/TransformTo3D.h"
diff --git a/GUI/Views/RealSpaceWidgets/TransformTo3D.cpp b/GUI/Views/RealSpaceWidgets/TransformTo3D.cpp
index 526446fa7e3..15291c276f4 100644
--- a/GUI/Views/RealSpaceWidgets/TransformTo3D.cpp
+++ b/GUI/Views/RealSpaceWidgets/TransformTo3D.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/RealSpaceWidgets/TransformTo3D.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
 #include "GUI/Views/RealSpaceWidgets/RealSpaceCanvas.h"
 #include "Sample/HardParticle/HardParticles.h"
 
diff --git a/GUI/Views/SampleDesigner/ConnectableView.cpp b/GUI/Views/SampleDesigner/ConnectableView.cpp
index ff69d961e72..6b8217956dd 100644
--- a/GUI/Views/SampleDesigner/ConnectableView.cpp
+++ b/GUI/Views/SampleDesigner/ConnectableView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ConnectableView.h"
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 #include "GUI/Views/SampleDesigner/NodeEditorConnection.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
diff --git a/GUI/Views/SampleDesigner/DesignerScene.cpp b/GUI/Views/SampleDesigner/DesignerScene.cpp
index fab13f2ae33..8842a914283 100644
--- a/GUI/Views/SampleDesigner/DesignerScene.cpp
+++ b/GUI/Views/SampleDesigner/DesignerScene.cpp
@@ -13,14 +13,14 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/DesignerScene.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/ItemFactory.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/RotationItems.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Varia/ItemFactory.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Trafo/RotationItems.h"
 #include "GUI/Models/Parameter/FilterPropertyProxy.h"
 #include "GUI/Models/Project/ProjectDocument.h"
 #include "GUI/Models/Sample/GUIExamplesFactory.h"
diff --git a/GUI/Views/SampleDesigner/ILayerView.cpp b/GUI/Views/SampleDesigner/ILayerView.cpp
index 2554d3c0d71..1d507537ebf 100644
--- a/GUI/Views/SampleDesigner/ILayerView.cpp
+++ b/GUI/Views/SampleDesigner/ILayerView.cpp
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "GUI/Items/LayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "GUI/Views/SampleDesigner/DesignerScene.h"
diff --git a/GUI/Views/SampleDesigner/IView.cpp b/GUI/Views/SampleDesigner/IView.cpp
index 6486337409c..fb7865f9fdc 100644
--- a/GUI/Views/SampleDesigner/IView.cpp
+++ b/GUI/Views/SampleDesigner/IView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/IView.h"
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 #include <QString>
 
 IView::IView(QGraphicsItem* parent) : QGraphicsObject(parent), m_item(nullptr)
diff --git a/GUI/Views/SampleDesigner/InterferenceForm.cpp b/GUI/Views/SampleDesigner/InterferenceForm.cpp
index a15a23aeee9..14b9bf131bd 100644
--- a/GUI/Views/SampleDesigner/InterferenceForm.cpp
+++ b/GUI/Views/SampleDesigner/InterferenceForm.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/InterferenceForm.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Views/SampleDesigner/FormLayouter.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
 #include "GUI/Views/SampleDesigner/SampleEditorController.h"
diff --git a/GUI/Views/SampleDesigner/ItemTreeView.cpp b/GUI/Views/SampleDesigner/ItemTreeView.cpp
index f68f1952391..5a58970785c 100644
--- a/GUI/Views/SampleDesigner/ItemTreeView.cpp
+++ b/GUI/Views/SampleDesigner/ItemTreeView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ItemTreeView.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include <QDragMoveEvent>
 #include <QMimeData>
 #include <QtCore/QXmlStreamWriter>
diff --git a/GUI/Views/SampleDesigner/LayerEditorUtils.cpp b/GUI/Views/SampleDesigner/LayerEditorUtils.cpp
index 5b05c4cc3a8..9bd31509c15 100644
--- a/GUI/Views/SampleDesigner/LayerEditorUtils.cpp
+++ b/GUI/Views/SampleDesigner/LayerEditorUtils.cpp
@@ -13,15 +13,15 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/LayerEditorUtils.h"
-#include "GUI/Items/FTDecayFunctionItems.h"
-#include "GUI/Items/FTDistributionItems.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/LayerRoughnessItems.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/RotationItems.h"
+#include "GUI/Models/Sample/FTDecayFunctionItems.h"
+#include "GUI/Models/Sample/FTDistributionItems.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Trafo/RotationItems.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/Views/Edit/DoubleSpinBox.h"
 #include "GUI/Views/SampleDesigner/FormLayouter.h"
diff --git a/GUI/Views/SampleDesigner/LayerForm.cpp b/GUI/Views/SampleDesigner/LayerForm.cpp
index 555a719baa4..36a833cd6cb 100644
--- a/GUI/Views/SampleDesigner/LayerForm.cpp
+++ b/GUI/Views/SampleDesigner/LayerForm.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/LayerForm.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Models/Types/UIntDescriptor.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
 #include "GUI/Views/SampleDesigner/MaterialInplaceForm.h"
diff --git a/GUI/Views/SampleDesigner/LayerOrientedSampleEditor.cpp b/GUI/Views/SampleDesigner/LayerOrientedSampleEditor.cpp
index d366c431c99..938b8b8b47e 100644
--- a/GUI/Views/SampleDesigner/LayerOrientedSampleEditor.cpp
+++ b/GUI/Views/SampleDesigner/LayerOrientedSampleEditor.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/LayerOrientedSampleEditor.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Views/SampleDesigner/LayerEditorUtils.h"
 #include "GUI/Views/SampleDesigner/MultiLayerForm.h"
 #include "GUI/Views/SampleDesigner/SampleEditorController.h"
diff --git a/GUI/Views/SampleDesigner/LayerView.cpp b/GUI/Views/SampleDesigner/LayerView.cpp
index 11c3c319de7..595a7c5c68d 100644
--- a/GUI/Views/SampleDesigner/LayerView.cpp
+++ b/GUI/Views/SampleDesigner/LayerView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/LayerView.h"
-#include "GUI/Items/LayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
 #include "GUI/Views/SampleDesigner/MultiLayerView.h"
 #include "GUI/Views/SampleDesigner/ParticleLayoutView.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
diff --git a/GUI/Views/SampleDesigner/MaterialInplaceForm.cpp b/GUI/Views/SampleDesigner/MaterialInplaceForm.cpp
index c13d392332d..6100a82bc2e 100644
--- a/GUI/Views/SampleDesigner/MaterialInplaceForm.cpp
+++ b/GUI/Views/SampleDesigner/MaterialInplaceForm.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/MaterialInplaceForm.h"
-#include "GUI/Items/ItemWithMaterial.h"
-#include "GUI/Items/MaterialItemUtils.h"
-#include "GUI/Items/ModelPath.h"
+#include "GUI/Models/Varia/ItemWithMaterial.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
+#include "GUI/Models/Varia/ModelPath.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "GUI/Models/Material/MaterialModelStore.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
diff --git a/GUI/Views/SampleDesigner/MesoCrystalForm.cpp b/GUI/Views/SampleDesigner/MesoCrystalForm.cpp
index 00bc76d5889..47a4a00c5fa 100644
--- a/GUI/Views/SampleDesigner/MesoCrystalForm.cpp
+++ b/GUI/Views/SampleDesigner/MesoCrystalForm.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/MesoCrystalForm.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/Views/SampleDesigner/FormLayouter.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
diff --git a/GUI/Views/SampleDesigner/MesoCrystalView.cpp b/GUI/Views/SampleDesigner/MesoCrystalView.cpp
index d056def9f74..1b9b732c559 100644
--- a/GUI/Views/SampleDesigner/MesoCrystalView.cpp
+++ b/GUI/Views/SampleDesigner/MesoCrystalView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/MesoCrystalView.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/ParticleItem.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 
diff --git a/GUI/Views/SampleDesigner/MultiLayerForm.cpp b/GUI/Views/SampleDesigner/MultiLayerForm.cpp
index 23e64916b8c..f754f770f9d 100644
--- a/GUI/Views/SampleDesigner/MultiLayerForm.cpp
+++ b/GUI/Views/SampleDesigner/MultiLayerForm.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/MultiLayerForm.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/Views/Edit/DoubleSpinBox.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
diff --git a/GUI/Views/SampleDesigner/MultiLayerView.cpp b/GUI/Views/SampleDesigner/MultiLayerView.cpp
index 21c20549b33..0fa28752edf 100644
--- a/GUI/Views/SampleDesigner/MultiLayerView.cpp
+++ b/GUI/Views/SampleDesigner/MultiLayerView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/MultiLayerView.h"
-#include "GUI/Items/SessionGraphicsItem.h"
+#include "GUI/Models/Session/SessionGraphicsItem.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Views/SampleDesigner/DesignerMimeData.h"
 #include "GUI/Views/SampleDesigner/DesignerScene.h"
diff --git a/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp b/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp
index debc0f6226c..6b13368be1c 100644
--- a/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp
+++ b/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleCompositionForm.h"
-#include "GUI/Items/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/Views/SampleDesigner/FormLayouter.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
diff --git a/GUI/Views/SampleDesigner/ParticleCompositionView.cpp b/GUI/Views/SampleDesigner/ParticleCompositionView.cpp
index 88d2fccd397..71b88aa717c 100644
--- a/GUI/Views/SampleDesigner/ParticleCompositionView.cpp
+++ b/GUI/Views/SampleDesigner/ParticleCompositionView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleCompositionView.h"
-#include "GUI/Items/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 
diff --git a/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp b/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp
index 920e7b7df37..41a0a99a4b0 100644
--- a/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp
+++ b/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleCoreShellForm.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/Views/SampleDesigner/FormLayouter.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
diff --git a/GUI/Views/SampleDesigner/ParticleCoreShellView.cpp b/GUI/Views/SampleDesigner/ParticleCoreShellView.cpp
index 4fa25f80b7f..93b4c988937 100644
--- a/GUI/Views/SampleDesigner/ParticleCoreShellView.cpp
+++ b/GUI/Views/SampleDesigner/ParticleCoreShellView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleCoreShellView.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 
diff --git a/GUI/Views/SampleDesigner/ParticleForm.cpp b/GUI/Views/SampleDesigner/ParticleForm.cpp
index 2adb9232f66..30a7a627802 100644
--- a/GUI/Views/SampleDesigner/ParticleForm.cpp
+++ b/GUI/Views/SampleDesigner/ParticleForm.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleForm.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/ParticleItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/ParticleItem.h"
 #include "GUI/Models/Types/VectorDescriptor.h"
 #include "GUI/Views/SampleDesigner/FormLayouter.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
diff --git a/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp b/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp
index 98d95c5369c..2ce5411742e 100644
--- a/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp
+++ b/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleLayoutForm.h"
-#include "GUI/Items/ItemWithParticles.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/ItemWithParticles.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Views/SampleDesigner/GroupBoxCollapser.h"
 #include "GUI/Views/SampleDesigner/InterferenceForm.h"
 #include "GUI/Views/SampleDesigner/LayerEditorUtils.h"
diff --git a/GUI/Views/SampleDesigner/ParticleLayoutView.cpp b/GUI/Views/SampleDesigner/ParticleLayoutView.cpp
index 9993987aab8..a90d92e37df 100644
--- a/GUI/Views/SampleDesigner/ParticleLayoutView.cpp
+++ b/GUI/Views/SampleDesigner/ParticleLayoutView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleLayoutView.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Views/SampleDesigner/ParticleView.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Views/SampleDesigner/ParticleView.cpp b/GUI/Views/SampleDesigner/ParticleView.cpp
index 2de2549b2f3..d625b715179 100644
--- a/GUI/Views/SampleDesigner/ParticleView.cpp
+++ b/GUI/Views/SampleDesigner/ParticleView.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/ParticleView.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/ParticleItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 #include "GUI/utils/Error.h"
diff --git a/GUI/Views/SampleDesigner/SampleEditorCommands.cpp b/GUI/Views/SampleDesigner/SampleEditorCommands.cpp
index 17c86760879..dcd2d475998 100644
--- a/GUI/Views/SampleDesigner/SampleEditorCommands.cpp
+++ b/GUI/Views/SampleDesigner/SampleEditorCommands.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/SampleEditorCommands.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Views/SampleDesigner/MultiLayerForm.h"
 #include "GUI/Views/SampleDesigner/SampleEditorController.h"
 
diff --git a/GUI/Views/SampleDesigner/SampleEditorController.cpp b/GUI/Views/SampleDesigner/SampleEditorController.cpp
index 499cccd2330..e76178356dc 100644
--- a/GUI/Views/SampleDesigner/SampleEditorController.cpp
+++ b/GUI/Views/SampleDesigner/SampleEditorController.cpp
@@ -13,13 +13,13 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/SampleEditorController.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Types/UIntDescriptor.h"
 #include "GUI/Views/Edit/DoubleSpinBox.h"
 #include "GUI/Views/SampleDesigner/InterferenceForm.h"
diff --git a/GUI/Views/SampleDesigner/SampleListView.cpp b/GUI/Views/SampleDesigner/SampleListView.cpp
index d748df352b5..8ccb32c2535 100644
--- a/GUI/Views/SampleDesigner/SampleListView.cpp
+++ b/GUI/Views/SampleDesigner/SampleListView.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Views/SampleDesigner/SampleListView.h"
 #include "GUI/Application/GlobalSettings.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Models/Sample/GUIExamplesFactory.h"
 #include "GUI/Models/Sample/SampleListModel.h"
 #include "GUI/Session/SessionData.h"
diff --git a/GUI/Views/SampleDesigner/SamplePropertyWidget.cpp b/GUI/Views/SampleDesigner/SamplePropertyWidget.cpp
index cf46751d20d..f2ee1592754 100644
--- a/GUI/Views/SampleDesigner/SamplePropertyWidget.cpp
+++ b/GUI/Views/SampleDesigner/SamplePropertyWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/SamplePropertyWidget.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Views/PropertyEditor/ComponentEditor.h"
 #include <QItemSelection>
 #include <QModelIndexList>
diff --git a/GUI/Views/SampleDesigner/SampleToolBox.cpp b/GUI/Views/SampleDesigner/SampleToolBox.cpp
index b6f52db06a9..67b80624a81 100644
--- a/GUI/Views/SampleDesigner/SampleToolBox.cpp
+++ b/GUI/Views/SampleDesigner/SampleToolBox.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/SampleToolBox.h"
-#include "GUI/Items/ItemCatalog.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/TransformationItem.h"
+#include "GUI/Models/Varia/ItemCatalog.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Trafo/TransformationItem.h"
 #include "GUI/Models/Sample/GUIExamplesFactory.h"
 #include "GUI/Views/SampleDesigner/DesignerMimeData.h"
 #include "GUI/Views/SampleDesigner/SampleToolBoxTreeWidget.h"
diff --git a/GUI/Views/SampleDesigner/SampleTreeWidget.cpp b/GUI/Views/SampleDesigner/SampleTreeWidget.cpp
index 3e79c5d2d87..8b3c634401e 100644
--- a/GUI/Views/SampleDesigner/SampleTreeWidget.cpp
+++ b/GUI/Views/SampleDesigner/SampleTreeWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/SampleTreeWidget.h"
-#include "GUI/Items/ItemCatalog.h"
+#include "GUI/Models/Varia/ItemCatalog.h"
 #include "GUI/Models/Parameter/FilterPropertyProxy.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Views/SampleDesigner/ItemTreeView.h"
diff --git a/GUI/Views/SampleDesigner/SampleViewAligner.cpp b/GUI/Views/SampleDesigner/SampleViewAligner.cpp
index ff257c987db..eed8377770c 100644
--- a/GUI/Views/SampleDesigner/SampleViewAligner.cpp
+++ b/GUI/Views/SampleDesigner/SampleViewAligner.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/SampleViewAligner.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Views/SampleDesigner/DesignerScene.h"
 #include "GUI/Views/SampleDesigner/IView.h"
diff --git a/GUI/Views/SampleDesigner/SampleViewFactory.cpp b/GUI/Views/SampleDesigner/SampleViewFactory.cpp
index e3589b1c3fc..2509b616612 100644
--- a/GUI/Views/SampleDesigner/SampleViewFactory.cpp
+++ b/GUI/Views/SampleDesigner/SampleViewFactory.cpp
@@ -13,15 +13,15 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SampleDesigner/SampleViewFactory.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MesoCrystalItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/TransformationItem.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MesoCrystalItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Trafo/TransformationItem.h"
 #include "GUI/Views/SampleDesigner/InterferenceViews.h"
 #include "GUI/Views/SampleDesigner/LayerView.h"
 #include "GUI/Views/SampleDesigner/MesoCrystalView.h"
diff --git a/GUI/Views/SampleDesigner/ScriptPanel.cpp b/GUI/Views/SampleDesigner/ScriptPanel.cpp
index 3afc264b6a0..48d0e026382 100644
--- a/GUI/Views/SampleDesigner/ScriptPanel.cpp
+++ b/GUI/Views/SampleDesigner/ScriptPanel.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/Views/SampleDesigner/ScriptPanel.h"
 #include "Core/Export/ExportToPython.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Models/Domain/DomainObjectBuilder.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Widgets/Common/DesignerHelper.h"
diff --git a/GUI/Views/SpecularDataWidgets/SpecularDataCanvas.cpp b/GUI/Views/SpecularDataWidgets/SpecularDataCanvas.cpp
index 1a576644822..476f945905c 100644
--- a/GUI/Views/SpecularDataWidgets/SpecularDataCanvas.cpp
+++ b/GUI/Views/SpecularDataWidgets/SpecularDataCanvas.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SpecularDataWidgets/SpecularDataCanvas.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/SavePlotAssistant.h"
 #include "GUI/Views/Main/ProjectManager.h"
 #include "GUI/Views/SpecularDataWidgets/SpecularPlotCanvas.h"
diff --git a/GUI/Views/SpecularDataWidgets/SpecularDataImportWidget.cpp b/GUI/Views/SpecularDataWidgets/SpecularDataImportWidget.cpp
index df2105f3c94..195d6ac784f 100644
--- a/GUI/Views/SpecularDataWidgets/SpecularDataImportWidget.cpp
+++ b/GUI/Views/SpecularDataWidgets/SpecularDataImportWidget.cpp
@@ -13,10 +13,10 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SpecularDataWidgets/SpecularDataImportWidget.h"
-#include "GUI/Items/DataItemUtils.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/DataItemUtils.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Models/Data/AbstractDataLoaderResultModel.h"
 #include "GUI/Models/Data/DataLoaders1D.h"
 #include "GUI/Views/Loaders/DataLoaderUtil.h"
diff --git a/GUI/Views/SpecularDataWidgets/SpecularDataWidget.cpp b/GUI/Views/SpecularDataWidgets/SpecularDataWidget.cpp
index ba85b58a816..d1ad8844156 100644
--- a/GUI/Views/SpecularDataWidgets/SpecularDataWidget.cpp
+++ b/GUI/Views/SpecularDataWidgets/SpecularDataWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SpecularDataWidgets/SpecularDataWidget.h"
-#include "GUI/Items/DataItemUtils.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/DataItemUtils.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/IntensityDataPropertyWidget.h"
 #include "GUI/Views/SpecularDataWidgets/SpecularDataCanvas.h"
 #include <QBoxLayout>
diff --git a/GUI/Views/SpecularDataWidgets/SpecularPlot.cpp b/GUI/Views/SpecularDataWidgets/SpecularPlot.cpp
index b35aed83122..85fb072b150 100644
--- a/GUI/Views/SpecularDataWidgets/SpecularPlot.cpp
+++ b/GUI/Views/SpecularDataWidgets/SpecularPlot.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SpecularDataWidgets/SpecularPlot.h"
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/ColorMapUtils.h"
 #include "GUI/Views/IntensityDataWidgets/PlotEventInfo.h"
 #include "GUI/Views/IntensityDataWidgets/PlotConstants.h"
diff --git a/GUI/Views/SpecularDataWidgets/SpecularPlotCanvas.cpp b/GUI/Views/SpecularDataWidgets/SpecularPlotCanvas.cpp
index 55f66e044c4..ad2a35be985 100644
--- a/GUI/Views/SpecularDataWidgets/SpecularPlotCanvas.cpp
+++ b/GUI/Views/SpecularDataWidgets/SpecularPlotCanvas.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/SpecularDataWidgets/SpecularPlotCanvas.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Views/IntensityDataWidgets/FontScalingEvent.h"
 #include "GUI/Views/IntensityDataWidgets/PlotStatusLabel.h"
 #include "GUI/Views/SpecularDataWidgets/SpecularPlot.h"
diff --git a/GUI/Views/Toplevel/ImportDataView.cpp b/GUI/Views/Toplevel/ImportDataView.cpp
index 40df58d64f1..5c678a452bc 100644
--- a/GUI/Views/Toplevel/ImportDataView.cpp
+++ b/GUI/Views/Toplevel/ImportDataView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/Toplevel/ImportDataView.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include "GUI/Models/Project/ProjectDocument.h"
 #include "GUI/Views/ImportDataWidgets/RealDataSelectorWidget.h"
diff --git a/GUI/Views/Toplevel/SampleView.cpp b/GUI/Views/Toplevel/SampleView.cpp
index 97f8caa18e3..2c52588da39 100644
--- a/GUI/Views/Toplevel/SampleView.cpp
+++ b/GUI/Views/Toplevel/SampleView.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/Toplevel/SampleView.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Models/Parameter/FilterPropertyProxy.h"
 #include "GUI/Models/Project/ProjectDocument.h"
 #include "GUI/Views/Main/MainWindow.h"
diff --git a/GUI/Views/Toplevel/SimulationView.cpp b/GUI/Views/Toplevel/SimulationView.cpp
index 2377ee24470..60b7a783ce2 100644
--- a/GUI/Views/Toplevel/SimulationView.cpp
+++ b/GUI/Views/Toplevel/SimulationView.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/Toplevel/SimulationView.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SimulationOptionsItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
 #include "GUI/Mapper/ModelUtils.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Data/DocumentModel.h"
diff --git a/GUI/Views/Toplevel/TestView.cpp b/GUI/Views/Toplevel/TestView.cpp
index 2469d305016..6d24a8128a7 100644
--- a/GUI/Views/Toplevel/TestView.cpp
+++ b/GUI/Views/Toplevel/TestView.cpp
@@ -13,11 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/Toplevel/TestView.h"
-#include "GUI/Items/Data1DViewItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/MinimizerItem.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/Data1DViewItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Fit/MinimizerItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Models/Data/DataPropertyContainer.h"
 #include "GUI/Views/FitWidgets/MinimizerSettingsWidget.h"
 #include "GUI/Views/Main/MainWindow.h"
diff --git a/GUI/Widgets/Common/DesignerHelper.cpp b/GUI/Widgets/Common/DesignerHelper.cpp
index 2ee40ef28e6..5e2c8f93978 100644
--- a/GUI/Widgets/Common/DesignerHelper.cpp
+++ b/GUI/Widgets/Common/DesignerHelper.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Widgets/Common/DesignerHelper.h"
-#include "GUI/Items/MaterialItemUtils.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 #include <QPainter>
 #include <cmath>
diff --git a/GUI/Widgets/Common/ItemSelectorWidget.cpp b/GUI/Widgets/Common/ItemSelectorWidget.cpp
index faf4a3bec9a..c927d29d897 100644
--- a/GUI/Widgets/Common/ItemSelectorWidget.cpp
+++ b/GUI/Widgets/Common/ItemSelectorWidget.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Widgets/Common/ItemSelectorWidget.h"
-#include "GUI/Items/SessionDecorationModel.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionDecorationModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/utils/mainwindow_constants.h"
 #include <QListView>
 #include <QVBoxLayout>
diff --git a/GUI/Widgets/Common/ItemStackWidget.cpp b/GUI/Widgets/Common/ItemStackWidget.cpp
index 56d8ae3af33..9e53db2080f 100644
--- a/GUI/Widgets/Common/ItemStackWidget.cpp
+++ b/GUI/Widgets/Common/ItemStackWidget.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Widgets/Common/ItemStackWidget.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/utils/Error.h"
 #include <QStackedWidget>
 #include <QVBoxLayout>
diff --git a/GUI/Widgets/Common/ModelTreeView.cpp b/GUI/Widgets/Common/ModelTreeView.cpp
index d4ad6a293d8..753a6b9640a 100644
--- a/GUI/Widgets/Common/ModelTreeView.cpp
+++ b/GUI/Widgets/Common/ModelTreeView.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "GUI/Widgets/Common/ModelTreeView.h"
-#include "GUI/Items/SessionDecorationModel.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionDecorationModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Widgets/Common/StyleUtils.h"
 #include "GUI/utils/Error.h"
 #include <QTreeView>
diff --git a/GUI/Widgets/Common/SessionItemController.cpp b/GUI/Widgets/Common/SessionItemController.cpp
index cd91ec86917..c8697359aa6 100644
--- a/GUI/Widgets/Common/SessionItemController.cpp
+++ b/GUI/Widgets/Common/SessionItemController.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Widgets/Common/SessionItemController.h"
-#include "GUI/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 
 SessionItemController::SessionItemController(QObject* prt)
     : QObject(prt), m_item(nullptr), m_parent_subscribed(false)
diff --git a/Tests/Functional/GUI/Check.cpp b/Tests/Functional/GUI/Check.cpp
index f6f6daecfaf..80caeddd422 100644
--- a/Tests/Functional/GUI/Check.cpp
+++ b/Tests/Functional/GUI/Check.cpp
@@ -19,7 +19,7 @@
 #include "Device/Data/DataUtils.h"
 #include "Device/Histo/IntensityDataIOFactory.h"
 #include "Device/Histo/SimulationResult.h"
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Models/Data/DocumentModel.h"
 #include "GUI/Models/Data/GUIObjectBuilder.h"
 #include "GUI/Models/Domain/DomainSimulationBuilder.h"
diff --git a/Tests/Unit/GUI/TestAxesItems.cpp b/Tests/Unit/GUI/TestAxesItems.cpp
index 5a1d795766c..5ee4ffebfe5 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/Items/AxesItems.h"
-#include "GUI/Items/PropertyItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Varia/PropertyItem.h"
 #include "GUI/Models/Domain/TransformFromDomain.h"
 #include "GUI/utils/Error.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestComponentProxyModel.cpp b/Tests/Unit/GUI/TestComponentProxyModel.cpp
index 6971027667d..2bfc224db12 100644
--- a/Tests/Unit/GUI/TestComponentProxyModel.cpp
+++ b/Tests/Unit/GUI/TestComponentProxyModel.cpp
@@ -1,11 +1,11 @@
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Mapper/ComponentProxyModel.h"
 #include "GUI/Mapper/ComponentProxyStrategy.h"
 #include "GUI/Mapper/ModelUtils.h"
diff --git a/Tests/Unit/GUI/TestComponentUtils.cpp b/Tests/Unit/GUI/TestComponentUtils.cpp
index aeb398dc929..95336eb9d02 100644
--- a/Tests/Unit/GUI/TestComponentUtils.cpp
+++ b/Tests/Unit/GUI/TestComponentUtils.cpp
@@ -1,8 +1,8 @@
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Mapper/ComponentUtils.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestDataItemViews.cpp b/Tests/Unit/GUI/TestDataItemViews.cpp
index 26e573fd440..9fd787dc885 100644
--- a/Tests/Unit/GUI/TestDataItemViews.cpp
+++ b/Tests/Unit/GUI/TestDataItemViews.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Data/DataProperties.h"
 #include "GUI/Models/Data/DataPropertyContainer.h"
diff --git a/Tests/Unit/GUI/TestDataItems.cpp b/Tests/Unit/GUI/TestDataItems.cpp
index ca22a144d97..d2fd756f796 100644
--- a/Tests/Unit/GUI/TestDataItems.cpp
+++ b/Tests/Unit/GUI/TestDataItems.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/SpecularDataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Data/SpecularDataItem.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QTest>
 
diff --git a/Tests/Unit/GUI/TestDetectorItems.cpp b/Tests/Unit/GUI/TestDetectorItems.cpp
index ac141154187..eeae6358cce 100644
--- a/Tests/Unit/GUI/TestDetectorItems.cpp
+++ b/Tests/Unit/GUI/TestDetectorItems.cpp
@@ -2,10 +2,10 @@
 #include "Device/Detector/IDetector2D.h"
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/RectangularDetectorItem.h"
-#include "GUI/Items/ResolutionFunctionItems.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
+#include "GUI/Models/Sample/ResolutionFunctionItems.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestFTDistributionItems.cpp b/Tests/Unit/GUI/TestFTDistributionItems.cpp
index d4348bcd96f..87282063abd 100644
--- a/Tests/Unit/GUI/TestFTDistributionItems.cpp
+++ b/Tests/Unit/GUI/TestFTDistributionItems.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Items/FTDistributionItems.h"
+#include "GUI/Models/Sample/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 fab1c4f4dd7..a33900eaec9 100644
--- a/Tests/Unit/GUI/TestFitParameterModel.cpp
+++ b/Tests/Unit/GUI/TestFitParameterModel.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Items/FitParameterItems.h"
-#include "GUI/Items/FitSuiteItem.h"
+#include "GUI/Models/Fit/FitParameterItems.h"
+#include "GUI/Models/Fit/FitSuiteItem.h"
 #include "GUI/Models/Fit/FitParameterProxyModel.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestFormFactorItems.cpp b/Tests/Unit/GUI/TestFormFactorItems.cpp
index e0ee129bdaa..c50aa355397 100644
--- a/Tests/Unit/GUI/TestFormFactorItems.cpp
+++ b/Tests/Unit/GUI/TestFormFactorItems.cpp
@@ -1,6 +1,6 @@
 #include "Base/Const/Units.h"
 #include "Base/Utils/Algorithms.h"
-#include "GUI/Items/FormFactorItems.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
 #include "Sample/HardParticle/FormFactorAnisoPyramid.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestGUICoreObjectCorrespondence.cpp b/Tests/Unit/GUI/TestGUICoreObjectCorrespondence.cpp
index ccfe88a3ec9..747c4549927 100644
--- a/Tests/Unit/GUI/TestGUICoreObjectCorrespondence.cpp
+++ b/Tests/Unit/GUI/TestGUICoreObjectCorrespondence.cpp
@@ -1,6 +1,6 @@
 #include "Base/Const/Units.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/InterferenceItems.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
 #include "Sample/Aggregate/Interferences.h"
 #include "Sample/HardParticle/HardParticles.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestGroupItem.cpp b/Tests/Unit/GUI/TestGroupItem.cpp
index 812ab162d95..e34ef561250 100644
--- a/Tests/Unit/GUI/TestGroupItem.cpp
+++ b/Tests/Unit/GUI/TestGroupItem.cpp
@@ -1,8 +1,8 @@
-#include "GUI/Items/DistributionItems.h"
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Varia/DistributionItems.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/utils/Error.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestInstrumentModel.cpp b/Tests/Unit/GUI/TestInstrumentModel.cpp
index 8c3b7df685f..df8fa1a57a9 100644
--- a/Tests/Unit/GUI/TestInstrumentModel.cpp
+++ b/Tests/Unit/GUI/TestInstrumentModel.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Items/InstrumentItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QSignalSpy>
diff --git a/Tests/Unit/GUI/TestLayerItems.cpp b/Tests/Unit/GUI/TestLayerItems.cpp
index 578f3c480ba..5242a9bf43b 100644
--- a/Tests/Unit/GUI/TestLayerItems.cpp
+++ b/Tests/Unit/GUI/TestLayerItems.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MaterialItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Material/MaterialItem.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "GUI/Models/Sample/SampleModel.h"
diff --git a/Tests/Unit/GUI/TestLayerRoughnessItems.cpp b/Tests/Unit/GUI/TestLayerRoughnessItems.cpp
index 0565bc63107..bb3117d17ab 100644
--- a/Tests/Unit/GUI/TestLayerRoughnessItems.cpp
+++ b/Tests/Unit/GUI/TestLayerRoughnessItems.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Items/LayerRoughnessItems.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
 #include "GUI/Models/Domain/TransformFromDomain.h"
 #include "GUI/Models/Domain/TransformToDomain.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
diff --git a/Tests/Unit/GUI/TestLinkInstrument.cpp b/Tests/Unit/GUI/TestLinkInstrument.cpp
index 00bb865cbcd..ed1cee26805 100644
--- a/Tests/Unit/GUI/TestLinkInstrument.cpp
+++ b/Tests/Unit/GUI/TestLinkInstrument.cpp
@@ -1,8 +1,8 @@
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/RealDataItem.h"
-#include "GUI/Items/RectangularDetectorItem.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Instrument/RectangularDetectorItem.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "GUI/Models/Project/LinkInstrumentManager.h"
diff --git a/Tests/Unit/GUI/TestMapperCases.cpp b/Tests/Unit/GUI/TestMapperCases.cpp
index 1ba5d6093b1..9a751ea4df9 100644
--- a/Tests/Unit/GUI/TestMapperCases.cpp
+++ b/Tests/Unit/GUI/TestMapperCases.cpp
@@ -1,10 +1,10 @@
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SimulationOptionsItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Varia/SimulationOptionsItem.h"
 #include "GUI/Models/Data/DocumentModel.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "GUI/Models/Sample/SampleModel.h"
diff --git a/Tests/Unit/GUI/TestMapperForItem.cpp b/Tests/Unit/GUI/TestMapperForItem.cpp
index 59f0b99a5ae..15d242cd862 100644
--- a/Tests/Unit/GUI/TestMapperForItem.cpp
+++ b/Tests/Unit/GUI/TestMapperForItem.cpp
@@ -1,8 +1,8 @@
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ProjectionItems.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Trafo/ProjectionItems.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestMaterialModel.cpp b/Tests/Unit/GUI/TestMaterialModel.cpp
index f5ee04a81d3..9c85ca68655 100644
--- a/Tests/Unit/GUI/TestMaterialModel.cpp
+++ b/Tests/Unit/GUI/TestMaterialModel.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Items/MaterialDataItems.h"
-#include "GUI/Items/MaterialItemUtils.h"
+#include "GUI/Models/Material/MaterialDataItems.h"
+#include "GUI/Models/Material/MaterialItemUtils.h"
 #include "GUI/Models/Material/MaterialModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <memory>
diff --git a/Tests/Unit/GUI/TestModelUtils.cpp b/Tests/Unit/GUI/TestModelUtils.cpp
index e3caf5c72e1..91fc7fb47e0 100644
--- a/Tests/Unit/GUI/TestModelUtils.cpp
+++ b/Tests/Unit/GUI/TestModelUtils.cpp
@@ -1,7 +1,7 @@
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Mapper/ModelUtils.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QVector>
diff --git a/Tests/Unit/GUI/TestMultiLayerItem.cpp b/Tests/Unit/GUI/TestMultiLayerItem.cpp
index eab7d468fd5..0b8b5af6d03 100644
--- a/Tests/Unit/GUI/TestMultiLayerItem.cpp
+++ b/Tests/Unit/GUI/TestMultiLayerItem.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/LayerRoughnessItems.h"
-#include "GUI/Items/MultiLayerItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/LayerRoughnessItems.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestOutputDataIOService.cpp b/Tests/Unit/GUI/TestOutputDataIOService.cpp
index b6c0e056184..7913d9267b9 100644
--- a/Tests/Unit/GUI/TestOutputDataIOService.cpp
+++ b/Tests/Unit/GUI/TestOutputDataIOService.cpp
@@ -1,10 +1,10 @@
 #include "Device/Histo/IntensityDataIOFactory.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/JobModelFunctions.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Job/JobModelFunctions.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Data/ImportDataInfo.h"
 #include "GUI/Models/Data/RealDataModel.h"
diff --git a/Tests/Unit/GUI/TestParaCrystalItems.cpp b/Tests/Unit/GUI/TestParaCrystalItems.cpp
index 36848f74729..012ce90b46e 100644
--- a/Tests/Unit/GUI/TestParaCrystalItems.cpp
+++ b/Tests/Unit/GUI/TestParaCrystalItems.cpp
@@ -1,10 +1,10 @@
 #include "Base/Const/Units.h"
-#include "GUI/Items/FTDistributionItems.h"
-#include "GUI/Items/InterferenceItems.h"
-#include "GUI/Items/Lattice2DItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/FTDistributionItems.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/Lattice2DItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Domain/TransformFromDomain.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "Sample/Aggregate/Interference2DParaCrystal.h"
diff --git a/Tests/Unit/GUI/TestParticleCoreShell.cpp b/Tests/Unit/GUI/TestParticleCoreShell.cpp
index 502a4706a46..b07aca831cd 100644
--- a/Tests/Unit/GUI/TestParticleCoreShell.cpp
+++ b/Tests/Unit/GUI/TestParticleCoreShell.cpp
@@ -1,8 +1,8 @@
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleCoreShellItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleCoreShellItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestParticleItem.cpp b/Tests/Unit/GUI/TestParticleItem.cpp
index 866888ea5b9..7d49922045e 100644
--- a/Tests/Unit/GUI/TestParticleItem.cpp
+++ b/Tests/Unit/GUI/TestParticleItem.cpp
@@ -1,7 +1,7 @@
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/ParticleCompositionItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Sample/ParticleCompositionItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Models/Types/DoubleDescriptor.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestParticleLayoutItem.h b/Tests/Unit/GUI/TestParticleLayoutItem.h
index 8c4b1c909a2..228ade1cfc5 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/Items/InterferenceItems.h"
-#include "GUI/Items/Lattice2DItems.h"
-#include "GUI/Items/ParticleLayoutItem.h"
-#include "GUI/Items/SessionItemUtils.h"
+#include "GUI/Models/Sample/InterferenceItems.h"
+#include "GUI/Models/Sample/Lattice2DItems.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "Tests/Unit/utilities/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestProjectDocument.cpp b/Tests/Unit/GUI/TestProjectDocument.cpp
index aaa351ac792..c9070de56d8 100644
--- a/Tests/Unit/GUI/TestProjectDocument.cpp
+++ b/Tests/Unit/GUI/TestProjectDocument.cpp
@@ -1,7 +1,7 @@
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
diff --git a/Tests/Unit/GUI/TestProjectUtils.cpp b/Tests/Unit/GUI/TestProjectUtils.cpp
index 1c32ea0b191..70733acc353 100644
--- a/Tests/Unit/GUI/TestProjectUtils.cpp
+++ b/Tests/Unit/GUI/TestProjectUtils.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Items/ItemFileNameUtils.h"
+#include "GUI/Models/Varia/ItemFileNameUtils.h"
 #include "GUI/Models/Project/ProjectUtils.h"
 #include "GUI/utils/Error.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/Unit/GUI/TestPropertyRepeater.cpp b/Tests/Unit/GUI/TestPropertyRepeater.cpp
index 3c7efed522f..5c47dc37546 100644
--- a/Tests/Unit/GUI/TestPropertyRepeater.cpp
+++ b/Tests/Unit/GUI/TestPropertyRepeater.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Views/IntensityDataWidgets/PropertyRepeater.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestProxyModelStrategy.cpp b/Tests/Unit/GUI/TestProxyModelStrategy.cpp
index 78143c69273..13c3e1616ea 100644
--- a/Tests/Unit/GUI/TestProxyModelStrategy.cpp
+++ b/Tests/Unit/GUI/TestProxyModelStrategy.cpp
@@ -1,9 +1,9 @@
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Mapper/ComponentProxyModel.h"
 #include "GUI/Mapper/ComponentProxyStrategy.h"
 #include "GUI/Mapper/ModelUtils.h"
diff --git a/Tests/Unit/GUI/TestRealDataModel.cpp b/Tests/Unit/GUI/TestRealDataModel.cpp
index 8475798bf9a..f95f89a554e 100644
--- a/Tests/Unit/GUI/TestRealDataModel.cpp
+++ b/Tests/Unit/GUI/TestRealDataModel.cpp
@@ -1,6 +1,6 @@
 #include "Base/Axis/PointwiseAxis.h"
-#include "GUI/Items/DataItem.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QSignalSpy>
diff --git a/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp b/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp
index 695e73cb417..4e50b5b0d6b 100644
--- a/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp
+++ b/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/ParticleLayoutItem.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Sample/ParticleLayoutItem.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Sample/SampleModel.h"
 #include "GUI/Views/RealSpaceWidgets/Particle3DContainer.h"
diff --git a/Tests/Unit/GUI/TestSaveService.cpp b/Tests/Unit/GUI/TestSaveService.cpp
index dfd02e6b0e5..5f12e92df2e 100644
--- a/Tests/Unit/GUI/TestSaveService.cpp
+++ b/Tests/Unit/GUI/TestSaveService.cpp
@@ -1,7 +1,7 @@
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/JobItemUtils.h"
-#include "GUI/Items/RealDataItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Job/JobItemUtils.h"
+#include "GUI/Models/Data/RealDataItem.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Data/RealDataModel.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
diff --git a/Tests/Unit/GUI/TestSavingSpecularData.cpp b/Tests/Unit/GUI/TestSavingSpecularData.cpp
index 1ad97d8d93b..ca27e0bd922 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/Items/DataItem.h"
-#include "GUI/Items/GroupItem.h"
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/IntensityDataItem.h"
-#include "GUI/Items/ItemFileNameUtils.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/JobModelFunctions.h"
-#include "GUI/Items/PointwiseAxisItem.h"
-#include "GUI/Items/SpecularBeamInclinationItem.h"
+#include "GUI/Models/Data/DataItem.h"
+#include "GUI/Models/Group/GroupItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Data/IntensityDataItem.h"
+#include "GUI/Models/Varia/ItemFileNameUtils.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Job/JobModelFunctions.h"
+#include "GUI/Models/Data/PointwiseAxisItem.h"
+#include "GUI/Models/Instrument/SpecularBeamInclinationItem.h"
 #include "GUI/Models/Data/ApplicationModels.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "GUI/Models/Job/JobModel.h"
diff --git a/Tests/Unit/GUI/TestSessionItem.cpp b/Tests/Unit/GUI/TestSessionItem.cpp
index 27dd9346c5c..9f1fb0ff350 100644
--- a/Tests/Unit/GUI/TestSessionItem.cpp
+++ b/Tests/Unit/GUI/TestSessionItem.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 #define EXPECT_ASSERT_TRIGGERED(condition) EXPECT_THROW((condition), std::runtime_error)
diff --git a/Tests/Unit/GUI/TestSessionItemController.cpp b/Tests/Unit/GUI/TestSessionItemController.cpp
index 435b389dee5..fae2019b9c9 100644
--- a/Tests/Unit/GUI/TestSessionItemController.cpp
+++ b/Tests/Unit/GUI/TestSessionItemController.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Items/AxesItems.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/AxesItems.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Widgets/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 efee91f2de5..d27e6734595 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/Items/SessionItem.h"
+#include "GUI/Models/Session/SessionItem.h"
 #include "GUI/Widgets/Common/SessionItemController.h"
 
 TestListener::TestListener()
diff --git a/Tests/Unit/GUI/TestSessionItemData.cpp b/Tests/Unit/GUI/TestSessionItemData.cpp
index 2d9e485094e..86a8e38eaa0 100644
--- a/Tests/Unit/GUI/TestSessionItemData.cpp
+++ b/Tests/Unit/GUI/TestSessionItemData.cpp
@@ -1,5 +1,5 @@
-#include "GUI/Items/SessionFlags.h"
-#include "GUI/Items/SessionItemData.h"
+#include "GUI/Models/Session/SessionFlags.h"
+#include "GUI/Models/Session/SessionItemData.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class TestSessionItemData : public ::testing::Test {
diff --git a/Tests/Unit/GUI/TestSessionItemTags.cpp b/Tests/Unit/GUI/TestSessionItemTags.cpp
index a9fd63c9685..59150426fa8 100644
--- a/Tests/Unit/GUI/TestSessionItemTags.cpp
+++ b/Tests/Unit/GUI/TestSessionItemTags.cpp
@@ -1,6 +1,6 @@
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/SessionItemTags.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Session/SessionItemTags.h"
 #include "GUI/utils/Error.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestSessionItemUtils.cpp b/Tests/Unit/GUI/TestSessionItemUtils.cpp
index 5baadfca5bb..d1f03f8ccee 100644
--- a/Tests/Unit/GUI/TestSessionItemUtils.cpp
+++ b/Tests/Unit/GUI/TestSessionItemUtils.cpp
@@ -1,7 +1,7 @@
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionItemUtils.h"
-#include "GUI/Items/SessionModel.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionItemUtils.h"
+#include "GUI/Models/Session/SessionModel.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Group/ComboProperty.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/Unit/GUI/TestSessionModel.cpp b/Tests/Unit/GUI/TestSessionModel.cpp
index 169a93748ed..cebe1248b9e 100644
--- a/Tests/Unit/GUI/TestSessionModel.cpp
+++ b/Tests/Unit/GUI/TestSessionModel.cpp
@@ -1,11 +1,11 @@
-#include "GUI/Items/InstrumentItems.h"
-#include "GUI/Items/JobItem.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MaskItems.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionItemTags.h"
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Instrument/InstrumentItems.h"
+#include "GUI/Models/Job/JobItem.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Instrument/MaskItems.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionItemTags.h"
+#include "GUI/Models/Types/VectorItem.h"
 #include "GUI/Models/Instrument/InstrumentModel.h"
 #include "GUI/Models/Job/JobModel.h"
 #include "GUI/Models/Material/MaterialModel.h"
diff --git a/Tests/Unit/GUI/TestSessionXML.cpp b/Tests/Unit/GUI/TestSessionXML.cpp
index 7ee674678a5..dd4c9d02bde 100644
--- a/Tests/Unit/GUI/TestSessionXML.cpp
+++ b/Tests/Unit/GUI/TestSessionXML.cpp
@@ -1,9 +1,9 @@
-#include "GUI/Items/FormFactorItems.h"
-#include "GUI/Items/LayerItem.h"
-#include "GUI/Items/MultiLayerItem.h"
-#include "GUI/Items/ParticleItem.h"
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Sample/FormFactorItems.h"
+#include "GUI/Models/Sample/LayerItem.h"
+#include "GUI/Models/Sample/MultiLayerItem.h"
+#include "GUI/Models/Sample/ParticleItem.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <QXmlStreamReader>
 #include <QXmlStreamWriter>
diff --git a/Tests/Unit/GUI/TestVectorItem.cpp b/Tests/Unit/GUI/TestVectorItem.cpp
index 51873c9cbdd..a07008ba80d 100644
--- a/Tests/Unit/GUI/TestVectorItem.cpp
+++ b/Tests/Unit/GUI/TestVectorItem.cpp
@@ -1,4 +1,4 @@
-#include "GUI/Items/VectorItem.h"
+#include "GUI/Models/Types/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 7d7c4819078..d5a2c9425dc 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/Items/RealDataItem.h"
-#include "GUI/Items/SessionModel.h"
+#include "GUI/Models/Data/RealDataItem.h"
+#include "GUI/Models/Session/SessionModel.h"
 #include "GUI/Models/Project/ProjectUtils.h"
 #include "GUI/utils/Error.h"
 #include <QDir>
diff --git a/Tests/Unit/GUI/Utils.h b/Tests/Unit/GUI/Utils.h
index 29e4a3ba478..5095c4dd9ff 100644
--- a/Tests/Unit/GUI/Utils.h
+++ b/Tests/Unit/GUI/Utils.h
@@ -16,8 +16,8 @@
 #ifndef BORNAGAIN_TESTS_UNIT_GUI_UTILS_H
 #define BORNAGAIN_TESTS_UNIT_GUI_UTILS_H
 
-#include "GUI/Items/PropertyItem.h"
-#include "GUI/Items/SessionXML.h"
+#include "GUI/Models/Varia/PropertyItem.h"
+#include "GUI/Models/Session/SessionXML.h"
 #include <QString>
 #include <QXmlStreamWriter>
 
-- 
GitLab