From 01570b3de6998bb69349059c43948a8839b7200e Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Thu, 14 Jul 2016 09:17:45 +0200
Subject: [PATCH] rm 1271 redundant #include's

---
 Core/Algorithms/Beam.cpp                      |  3 ---
 Core/Algorithms/ChiSquaredModule.cpp          |  2 --
 .../ConvolutionDetectorResolution.cpp         |  2 --
 Core/Algorithms/DWBADiffuseReflection.cpp     |  1 -
 Core/Algorithms/DWBADiffuseReflection.h       |  3 ---
 Core/Algorithms/DWBASimulation.h              |  5 -----
 .../DecoratedLayerDWBASimulation.cpp          |  2 --
 .../Algorithms/DecoratedLayerDWBASimulation.h |  1 -
 .../DecouplingApproximationStrategy.cpp       |  4 ----
 .../DecouplingApproximationStrategy.h         |  1 -
 Core/Algorithms/DetectorMask.cpp              |  2 --
 Core/Algorithms/DetectorMask.h                |  3 ---
 Core/Algorithms/DistributionHandler.h         |  2 --
 Core/Algorithms/Distributions.cpp             |  1 -
 Core/Algorithms/Distributions.h               |  1 -
 Core/Algorithms/FTDecayFunctions.h            |  1 -
 Core/Algorithms/FTDistributions.h             |  1 -
 Core/Algorithms/FitElement.h                  |  1 -
 Core/Algorithms/GISASSimulation.cpp           |  8 --------
 Core/Algorithms/GISASSimulation.h             |  4 ----
 Core/Algorithms/IDetector2D.cpp               |  4 ----
 Core/Algorithms/IDetector2D.h                 |  6 ------
 Core/Algorithms/IDetectorResolution.h         |  2 --
 Core/Algorithms/IIntensityFunction.h          |  1 -
 Core/Algorithms/IIntensityNormalizer.cpp      |  2 --
 .../IInterferenceFunctionStrategy.cpp         |  1 -
 .../IInterferenceFunctionStrategy.h           |  7 -------
 Core/Algorithms/ISampleBuilder.h              |  1 -
 Core/Algorithms/ISquaredFunction.h            |  2 --
 Core/Algorithms/Instrument.cpp                |  2 --
 Core/Algorithms/Instrument.h                  |  2 --
 .../InterferenceFunctionStrategies.h          |  1 -
 Core/Algorithms/LayerDWBASimulation.cpp       |  2 --
 Core/Algorithms/LayerSpecularInfo.h           |  2 --
 Core/Algorithms/LayerStrategyBuilder.cpp      |  3 ---
 Core/Algorithms/LayerStrategyBuilder.h        |  4 ----
 Core/Algorithms/Mask.cpp                      |  2 --
 Core/Algorithms/MaskCoordinateFunction.cpp    |  2 --
 Core/Algorithms/MaskCoordinateFunction.h      |  1 -
 Core/Algorithms/MatrixRTCoefficients.h        |  1 -
 Core/Algorithms/MatrixSpecularInfoMap.h       |  3 ---
 Core/Algorithms/MultiLayerDWBASimulation.cpp  |  5 -----
 Core/Algorithms/MultiLayerDWBASimulation.h    |  4 ----
 .../MultiLayerRoughnessDWBASimulation.cpp     |  3 ---
 .../MultiLayerRoughnessDWBASimulation.h       |  2 --
 Core/Algorithms/OMPISimulation.cpp            |  5 -----
 Core/Algorithms/OffSpecSimulation.cpp         |  2 --
 Core/Algorithms/OffSpecSimulation.h           |  1 -
 Core/Algorithms/ProgressHandler.cpp           |  6 ------
 Core/Algorithms/ProgressHandler.h             |  2 --
 Core/Algorithms/RectangularDetector.cpp       | 10 ----------
 Core/Algorithms/RectangularDetector.h         | 10 +---------
 Core/Algorithms/ScalarRTCoefficients.h        |  2 --
 Core/Algorithms/ScalarSpecularInfoMap.h       |  1 -
 Core/Algorithms/Simulation.cpp                |  8 --------
 Core/Algorithms/Simulation.h                  |  3 ---
 Core/Algorithms/SimulationElement.cpp         |  2 --
 Core/Algorithms/SimulationOptions.h           |  2 --
 ...pacingCorrelationApproximationStrategy.cpp |  1 -
 ...eSpacingCorrelationApproximationStrategy.h |  1 -
 Core/Algorithms/SpecularMagnetic.h            |  3 ---
 Core/Algorithms/SpecularMatrix.cpp            |  2 --
 Core/Algorithms/SpecularMatrix.h              |  3 ---
 Core/Algorithms/SpecularSimulation.cpp        |  4 ----
 Core/Algorithms/SpecularSimulation.h          |  3 ---
 Core/Algorithms/SphericalDetector.cpp         |  7 -------
 Core/Algorithms/SphericalDetector.h           | 10 +---------
 Core/FormFactors/FormFactorCone.cpp           |  1 -
 Core/FormFactors/FormFactorCone.h             |  1 -
 Core/FormFactors/FormFactorCrystal.cpp        |  2 --
 Core/FormFactors/FormFactorCuboctahedron.cpp  |  1 -
 Core/FormFactors/FormFactorCylinder.cpp       |  1 -
 Core/FormFactors/FormFactorDWBA.cpp           |  1 -
 Core/FormFactors/FormFactorDWBAPol.cpp        |  1 -
 .../FormFactorDecoratorMaterial.cpp           |  1 -
 .../FormFactorDecoratorPositionFactor.h       |  1 -
 Core/FormFactors/FormFactorDodecahedron.cpp   |  2 --
 Core/FormFactors/FormFactorFullSphere.cpp     |  2 --
 Core/FormFactors/FormFactorFullSpheroid.cpp   |  1 -
 Core/FormFactors/FormFactorGauss.cpp          |  2 --
 Core/FormFactors/FormFactorHemiEllipsoid.cpp  |  2 --
 Core/FormFactors/FormFactorIcosahedron.cpp    |  2 --
 .../FormFactorLongRipple1Gauss.cpp            |  2 --
 .../FormFactorLongRipple1Lorentz.cpp          |  2 --
 .../FormFactorLongRipple2Gauss.cpp            |  3 ---
 .../FormFactorLongRipple2Lorentz.cpp          |  3 ---
 Core/FormFactors/FormFactorLorentz.cpp        |  2 --
 Core/FormFactors/FormFactorPolyhedron.cpp     |  9 ---------
 Core/FormFactors/FormFactorPolyhedron.h       |  2 --
 Core/FormFactors/FormFactorPrism3.cpp         |  1 -
 Core/FormFactors/FormFactorPrism6.cpp         |  1 -
 Core/FormFactors/FormFactorRipple1.cpp        |  2 --
 Core/FormFactors/FormFactorRipple2.cpp        |  2 --
 .../FormFactorSphereGaussianRadius.h          |  3 ---
 .../FormFactorSphereLogNormalRadius.h         |  3 ---
 .../FormFactorSphereUniformRadius.h           |  3 ---
 Core/FormFactors/FormFactorTetrahedron.cpp    |  1 -
 Core/FormFactors/FormFactorTools.h            |  1 -
 Core/FormFactors/FormFactorTriangle.cpp       |  1 -
 Core/FormFactors/FormFactorTruncatedCube.cpp  |  2 --
 .../FormFactors/FormFactorTruncatedSphere.cpp |  2 --
 .../FormFactorTruncatedSpheroid.cpp           |  1 -
 Core/FormFactors/FormFactors.h                |  7 -------
 Core/FormFactors/IFormFactor.h                |  2 --
 Core/FormFactors/IFormFactorBorn.cpp          |  1 -
 Core/FormFactors/ParticleShapes.h             |  1 -
 Core/Geometry/BasicVector3D.cpp               |  1 -
 Core/Geometry/BasicVector3D.h                 |  1 -
 Core/Geometry/InfinitePlane.cpp               |  1 -
 Core/Geometry/Line.cpp                        |  4 ----
 Core/Geometry/Polygon.cpp                     |  2 --
 Core/InputOutput/IntensityDataIOFactory.cpp   |  2 --
 Core/InputOutput/IntensityDataIOFactory.h     |  3 ---
 Core/InputOutput/OutputDataIOHelper.cpp       |  6 ------
 Core/InputOutput/OutputDataIOHelper.h         |  3 ---
 Core/InputOutput/OutputDataReadFactory.cpp    |  3 ---
 Core/InputOutput/OutputDataReadFactory.h      |  3 ---
 Core/InputOutput/OutputDataReadStrategy.cpp   |  4 ----
 Core/InputOutput/OutputDataReadStrategy.h     |  1 -
 Core/InputOutput/OutputDataReader.cpp         |  1 -
 Core/InputOutput/OutputDataReader.h           |  3 ---
 Core/InputOutput/OutputDataWriteFactory.cpp   |  2 --
 Core/InputOutput/OutputDataWriteFactory.h     |  3 ---
 Core/InputOutput/OutputDataWriteStrategy.cpp  |  2 --
 Core/InputOutput/OutputDataWriteStrategy.h    |  1 -
 Core/InputOutput/OutputDataWriter.cpp         |  1 -
 Core/InputOutput/OutputDataWriter.h           |  2 --
 Core/InputOutput/TiffHandler.cpp              |  6 ------
 Core/InputOutput/TiffHandler.h                |  3 ---
 Core/InputOutput/boost_streams.h              |  2 --
 Core/Samples/BAVersion.h                      |  1 -
 Core/Samples/Crystal.cpp                      |  4 ----
 Core/Samples/HomogeneousMagneticMaterial.h    |  2 --
 Core/Samples/HomogeneousMaterial.h            |  1 -
 Core/Samples/IClusteredParticles.h            |  1 -
 Core/Samples/ICompositeSample.cpp             |  5 -----
 Core/Samples/ICompositeSample.h               |  1 -
 Core/Samples/ILayout.h                        |  5 -----
 Core/Samples/IMaterial.h                      |  4 ----
 Core/Samples/IParticle.cpp                    |  2 --
 Core/Samples/IParticle.h                      |  1 -
 Core/Samples/ISample.cpp                      |  2 --
 Core/Samples/ISample.h                        |  2 --
 Core/Samples/ISampleIteratorStrategy.h        |  1 -
 Core/Samples/ISampleVisitor.cpp               |  3 ---
 Core/Samples/ISampleVisitor.h                 |  1 -
 Core/Samples/ISelectionRule.h                 |  1 -
 .../InterferenceFunction2DParaCrystal.cpp     |  3 ---
 .../InterferenceFunction2DParaCrystal.h       |  1 -
 .../InterferenceFunctionRadialParaCrystal.cpp |  1 -
 Core/Samples/Lattice.cpp                      |  2 --
 Core/Samples/Lattice.h                        |  2 --
 Core/Samples/Lattice1DParameters.h            |  1 -
 Core/Samples/Lattice2DParameters.h            |  1 -
 Core/Samples/Layer.cpp                        |  4 ----
 Core/Samples/Layer.h                          |  2 --
 Core/Samples/LayerInterface.cpp               |  2 --
 Core/Samples/LayerInterface.h                 |  1 -
 Core/Samples/LayerRoughness.cpp               |  3 ---
 Core/Samples/Materials.h                      |  1 -
 Core/Samples/MesoCrystal.cpp                  |  1 -
 Core/Samples/MesoCrystal.h                    |  1 -
 Core/Samples/MultiLayer.cpp                   |  4 ----
 Core/Samples/MultiLayer.h                     |  2 --
 Core/Samples/Particle.cpp                     |  2 --
 Core/Samples/Particle.h                       |  2 --
 Core/Samples/ParticleComposition.cpp          |  2 --
 Core/Samples/ParticleComposition.h            |  2 --
 Core/Samples/ParticleCoreShell.cpp            |  1 -
 Core/Samples/ParticleDistribution.h           |  1 -
 Core/Samples/ParticleLayout.cpp               |  5 -----
 Core/Samples/ParticleLayout.h                 |  3 ---
 Core/Samples/SampleTreeIterator.cpp           |  2 --
 Core/Samples/SampleTreeIterator.h             |  5 -----
 Core/Samples/Samples.h                        |  5 -----
 .../StandardSamples/BoxCompositionBuilder.cpp |  7 -------
 Core/StandardSamples/BoxCompositionBuilder.h  |  2 --
 .../CoreShellParticleBuilder.cpp              |  4 ----
 .../CustomMorphologyBuilder.cpp               |  8 --------
 .../CylindersAndPrismsBuilder.cpp             |  4 ----
 Core/StandardSamples/CylindersBuilder.cpp     |  7 -------
 Core/StandardSamples/LatticeBuilder.cpp       |  4 ----
 Core/StandardSamples/LatticeBuilder.h         |  2 --
 .../LayersWithAbsorptionBuilder.cpp           |  5 -----
 .../LayersWithAbsorptionBuilder.h             |  2 --
 .../MagneticParticlesBuilder.cpp              |  4 ----
 Core/StandardSamples/MesoCrystalBuilder.cpp   |  5 -----
 Core/StandardSamples/MesoCrystalBuilder.h     |  2 --
 .../MultiLayerWithRoughnessBuilder.cpp        |  4 ----
 .../StandardSamples/MultipleLayoutBuilder.cpp |  3 ---
 Core/StandardSamples/ParaCrystalBuilder.cpp   |  5 -----
 Core/StandardSamples/ParaCrystalBuilder.h     |  2 --
 .../ParticleCompositionBuilder.cpp            |  6 ------
 .../ParticleDistributionsBuilder.cpp          |  5 -----
 .../ParticleInTheAirBuilder.cpp               |  5 -----
 .../StandardSamples/ParticleInTheAirBuilder.h |  1 -
 Core/StandardSamples/RipplesBuilder.cpp       |  3 ---
 .../RotatedPyramidsBuilder.cpp                |  4 ----
 Core/StandardSamples/SampleBuilderFactory.cpp |  2 --
 Core/StandardSamples/SampleBuilderFactory.h   |  1 -
 .../SizeDistributionModelsBuilder.cpp         |  4 ----
 Core/StandardSamples/StandardSimulations.cpp  |  3 ---
 .../TransformationsBuilder.cpp                |  5 -----
 Core/StandardSamples/TwoDimLatticeBuilder.cpp |  5 -----
 Core/TestMachinery/CoreTest.cpp               |  1 -
 Core/TestMachinery/CoreTest.h                 |  1 -
 Core/TestMachinery/FunctionalTestInfo.h       |  1 -
 Core/TestMachinery/FunctionalTestRegistry.cpp |  2 --
 Core/TestMachinery/FunctionalTestRegistry.h   |  3 ---
 Core/TestMachinery/FunctionalTestSuite.cpp    |  2 --
 Core/TestMachinery/FunctionalTestSuite.h      |  5 -----
 Core/TestMachinery/IFunctionalTest.cpp        |  1 -
 Core/TestMachinery/IFunctionalTest.h          |  2 --
 Core/TestMachinery/IRegistry.h                |  5 -----
 Core/TestMachinery/PySuiteTest.cpp            |  3 ---
 Core/TestMachinery/PySuiteTest.h              |  3 ---
 Core/TestMachinery/SubtestRegistry.h          |  1 -
 Core/Tools/AttLimits.h                        |  1 -
 Core/Tools/Bin.h                              |  1 -
 Core/Tools/ConstKBinAxis.cpp                  |  2 --
 Core/Tools/Convolve.cpp                       |  1 -
 Core/Tools/Convolve.h                         |  1 -
 Core/Tools/CumulativeValue.h                  |  1 -
 Core/Tools/CustomBinAxis.cpp                  |  1 -
 Core/Tools/EigenCore.h                        |  1 -
 Core/Tools/Exceptions.cpp                     |  1 -
 Core/Tools/Exceptions.h                       |  2 --
 Core/Tools/FastVector.h                       |  1 -
 Core/Tools/FileSystem.h                       |  1 -
 Core/Tools/FixedBinAxis.cpp                   |  1 -
 Core/Tools/Histogram1D.cpp                    |  1 -
 Core/Tools/Histogram2D.cpp                    |  1 -
 Core/Tools/Histogram2D.h                      |  2 --
 Core/Tools/IAxis.h                            |  2 --
 Core/Tools/IFactory.h                         |  2 --
 Core/Tools/IHistogram.cpp                     |  5 -----
 Core/Tools/IHistogram.h                       |  1 -
 Core/Tools/INamed.h                           |  1 -
 Core/Tools/IObserver.h                        |  1 -
 Core/Tools/IParameterized.cpp                 |  2 --
 Core/Tools/IParameterized.h                   |  1 -
 Core/Tools/ISingleton.h                       |  3 ---
 Core/Tools/IntegratorComplex.h                |  1 -
 Core/Tools/IntegratorMCMiser.h                |  1 -
 Core/Tools/IntensityDataFunctions.cpp         |  4 ----
 Core/Tools/LLData.cpp                         |  1 -
 Core/Tools/LLData.h                           |  1 -
 Core/Tools/Macros.h                           |  2 --
 Core/Tools/MathFunctions.cpp                  |  4 ----
 Core/Tools/MathFunctions.h                    |  2 --
 Core/Tools/MessageService.cpp                 |  1 -
 Core/Tools/MessageService.h                   |  3 ---
 Core/Tools/Numeric.h                          |  2 --
 Core/Tools/NumpyUtils.cpp                     |  1 -
 Core/Tools/OutputData.cpp                     |  2 --
 Core/Tools/OutputData.h                       |  4 ----
 Core/Tools/OutputDataFunctions.cpp            |  4 ----
 Core/Tools/OutputDataFunctions.h              |  3 ---
 Core/Tools/OutputDataIterator.h               |  1 -
 Core/Tools/ParameterDistribution.cpp          |  1 -
 Core/Tools/ParameterDistribution.h            |  3 ---
 Core/Tools/ParameterPool.cpp                  |  6 ------
 Core/Tools/ParameterPool.h                    |  3 ---
 Core/Tools/PyGenTools.cpp                     | 12 -----------
 Core/Tools/PyGenTools.h                       |  1 -
 Core/Tools/PyGenVisitor.cpp                   | 17 ----------------
 Core/Tools/PyGenVisitor.h                     |  6 ------
 Core/Tools/RealParameterWrapper.cpp           |  1 -
 Core/Tools/RealParameterWrapper.h             |  3 ---
 Core/Tools/SafePointerVector.h                |  1 -
 Core/Tools/SampleLabelHandler.cpp             |  4 ----
 Core/Tools/SampleLabelHandler.h               |  2 --
 Core/Tools/SampleMaterialVisitor.cpp          |  3 ---
 Core/Tools/SampleMaterialVisitor.h            |  2 --
 Core/Tools/SamplePrintVisitor.cpp             |  5 -----
 Core/Tools/SamplePrintVisitor.h               |  1 -
 Core/Tools/Utils.cpp                          | 12 -----------
 Core/Tools/Utils.h                            |  4 ----
 Core/Tools/VDouble.h                          |  1 -
 Core/Tools/VariableBinAxis.cpp                |  3 ---
 Core/Tools/VariableBinAxis.h                  |  1 -
 Core/Tools/fp_exception_glibc_extension.h     |  2 --
 Fit/FitKernel/FitKernel.cpp                   |  3 ---
 Fit/FitKernel/FitKernel.h                     |  4 ----
 Fit/FitKernel/FitObject.cpp                   |  4 ----
 Fit/FitKernel/FitOptions.h                    |  3 ---
 Fit/FitKernel/FitParameter.cpp                |  1 -
 Fit/FitKernel/FitParameter.h                  |  2 --
 Fit/FitKernel/FitParameterLinked.cpp          |  1 -
 Fit/FitKernel/FitParameterLinked.h            |  4 ----
 Fit/FitKernel/FitStrategyAdjustMinimizer.h    |  1 -
 Fit/FitKernel/FitSuite.cpp                    |  1 -
 Fit/FitKernel/FitSuite.h                      |  2 --
 Fit/FitKernel/FitSuiteFunctions.cpp           |  3 ---
 Fit/FitKernel/FitSuiteFunctions.h             |  2 --
 Fit/FitKernel/FitSuiteObjects.cpp             |  2 --
 Fit/FitKernel/FitSuiteObjects.h               |  5 -----
 Fit/FitKernel/FitSuiteParameters.cpp          |  2 --
 Fit/FitKernel/FitSuiteParameters.h            |  2 --
 Fit/FitKernel/FitSuitePrintObserver.h         |  1 -
 Fit/FitKernel/FitSuiteStrategies.cpp          |  3 ---
 Fit/FitKernel/FitSuiteStrategies.h            |  1 -
 Fit/FitKernel/IFitStrategy.cpp                |  1 -
 Fit/FitKernel/IFitStrategy.h                  |  1 -
 Fit/FitKernel/IMinimizer.h                    |  3 ---
 Fit/FitKernel/MinimizerFactory.cpp            |  1 -
 Fit/FitKernel/MinimizerFactory.h              |  3 ---
 Fit/FitKernel/MinimizerLibrary.h              |  2 --
 Fit/FitKernel/MinimizerOptions.cpp            |  1 -
 Fit/FitKernel/MinimizerOptions.h              |  2 --
 Fit/FitKernel/MinimizerScan.cpp               |  1 -
 Fit/FitKernel/MinimizerTest.cpp               |  1 -
 Fit/FitKernel/MinimizerTest.h                 |  1 -
 Fit/FitKernel/ROOTGeneticMinimizer.cpp        |  2 --
 Fit/FitKernel/ROOTLMAMinimizer.cpp            |  1 -
 Fit/FitKernel/ROOTMinimizer.cpp               |  7 -------
 Fit/FitKernel/ROOTMinimizer.h                 |  3 ---
 Fit/FitKernel/ROOTMinimizerFunction.h         |  1 -
 Fit/FitKernel/ROOTMinimizerHelper.cpp         |  1 -
 Fit/StandardFits/IMinimizerTest.cpp           |  4 ----
 Fit/StandardFits/IMinimizerTest.h             |  2 --
 Fit/StandardFits/MinimizerTests.cpp           |  1 -
 Fit/StandardFits/RectDetectorFitTest.cpp      |  2 --
 Fit/StandardFits/RectDetectorFitTest.h        |  6 ------
 GUI/coregui/Models/AngleProperty.h            |  3 ---
 GUI/coregui/Models/ApplicationModels.cpp      |  6 ------
 GUI/coregui/Models/ApplicationModels.h        |  1 -
 GUI/coregui/Models/AxesItems.h                |  1 -
 GUI/coregui/Models/BeamAngleItems.cpp         |  1 -
 GUI/coregui/Models/BeamAngleItems.h           |  1 -
 GUI/coregui/Models/BeamDistributionItem.cpp   |  1 -
 GUI/coregui/Models/BeamDistributionItem.h     |  3 ---
 GUI/coregui/Models/BeamItem.cpp               |  7 -------
 GUI/coregui/Models/BeamWavelengthItem.h       |  1 -
 GUI/coregui/Models/ColorProperty.h            |  4 ----
 GUI/coregui/Models/ComboProperty.h            |  3 ---
 GUI/coregui/Models/DetectorItems.cpp          |  3 ---
 GUI/coregui/Models/DetectorItems.h            |  1 -
 GUI/coregui/Models/DistributionItem.cpp       |  2 --
 GUI/coregui/Models/DistributionItem.h         |  2 --
 GUI/coregui/Models/DomainFittingBuilder.cpp   |  1 -
 GUI/coregui/Models/DomainFittingBuilder.h     |  1 -
 GUI/coregui/Models/DomainObjectBuilder.cpp    | 17 ----------------
 GUI/coregui/Models/DomainObjectBuilder.h      |  9 ---------
 .../Models/DomainSimulationBuilder.cpp        |  7 -------
 GUI/coregui/Models/DomainSimulationBuilder.h  |  4 ----
 GUI/coregui/Models/FTDecayFunctionItems.cpp   |  2 --
 GUI/coregui/Models/FTDistributionItems.cpp    |  2 --
 GUI/coregui/Models/FilterPropertyProxy.h      |  1 -
 GUI/coregui/Models/FitParameterHelper.h       |  3 ---
 GUI/coregui/Models/FitParameterItems.cpp      |  4 ----
 GUI/coregui/Models/FitParameterItems.h        |  1 -
 GUI/coregui/Models/FitParameterProxyModel.cpp |  5 -----
 GUI/coregui/Models/FitParameterProxyModel.h   |  1 -
 GUI/coregui/Models/FitSuiteItem.cpp           |  1 -
 GUI/coregui/Models/FitSuiteItem.h             |  1 -
 GUI/coregui/Models/FormFactorItems.cpp        |  2 --
 GUI/coregui/Models/FormFactorItems.h          |  1 -
 GUI/coregui/Models/GUIExamplesFactory.cpp     |  7 -------
 GUI/coregui/Models/GUIExamplesFactory.h       |  3 ---
 GUI/coregui/Models/GUIObjectBuilder.cpp       |  9 ---------
 GUI/coregui/Models/GUIObjectBuilder.h         |  4 ----
 GUI/coregui/Models/GroupItem.cpp              |  1 -
 GUI/coregui/Models/GroupProperty.cpp          |  1 -
 GUI/coregui/Models/GroupProperty.h            |  5 -----
 GUI/coregui/Models/GroupPropertyRegistry.cpp  |  4 ----
 GUI/coregui/Models/GroupPropertyRegistry.h    |  4 ----
 GUI/coregui/Models/IconProvider.cpp           |  3 ---
 GUI/coregui/Models/IconProvider.h             |  2 --
 GUI/coregui/Models/InstrumentModel.h          |  1 -
 GUI/coregui/Models/IntensityDataItem.cpp      |  7 -------
 GUI/coregui/Models/IntensityDataItem.h        |  4 ----
 .../Models/InterferenceFunctionItems.cpp      |  1 -
 GUI/coregui/Models/ItemFactory.cpp            |  2 --
 GUI/coregui/Models/ItemFactory.h              |  2 --
 GUI/coregui/Models/JobItem.cpp                |  4 ----
 GUI/coregui/Models/JobItem.h                  |  2 --
 GUI/coregui/Models/JobItemHelper.cpp          |  4 ----
 GUI/coregui/Models/JobItemHelper.h            |  1 -
 GUI/coregui/Models/JobModel.cpp               |  4 ----
 GUI/coregui/Models/JobModel.h                 |  3 ---
 GUI/coregui/Models/JobQueueData.cpp           |  1 -
 GUI/coregui/Models/JobQueueData.h             |  3 ---
 GUI/coregui/Models/JobWorker.cpp              |  4 ----
 GUI/coregui/Models/JobWorker.h                |  2 --
 GUI/coregui/Models/LatticeTypeItems.cpp       |  1 -
 GUI/coregui/Models/LayerItem.cpp              |  2 --
 GUI/coregui/Models/LayerRoughnessItems.cpp    |  1 -
 GUI/coregui/Models/MaskItems.cpp              |  1 -
 GUI/coregui/Models/MaskItems.h                |  1 -
 GUI/coregui/Models/MaterialItem.cpp           |  4 ----
 GUI/coregui/Models/MaterialItem.h             |  1 -
 GUI/coregui/Models/MaterialModel.cpp          |  2 --
 GUI/coregui/Models/MinimizerItem.cpp          |  4 ----
 GUI/coregui/Models/MinimizerItem.h            |  1 -
 GUI/coregui/Models/MinimizerItemCatalogue.cpp |  1 -
 GUI/coregui/Models/MinimizerItemCatalogue.h   |  2 --
 GUI/coregui/Models/ModelMapper.cpp            |  3 ---
 GUI/coregui/Models/ModelMapper.h              |  5 -----
 GUI/coregui/Models/ModelPath.cpp              |  6 ------
 GUI/coregui/Models/ModelPath.h                |  4 ----
 GUI/coregui/Models/MultiLayerItem.cpp         |  3 ---
 GUI/coregui/Models/ParameterTranslators.cpp   |  1 -
 GUI/coregui/Models/ParameterTranslators.h     |  1 -
 GUI/coregui/Models/ParameterTuningModel.cpp   |  2 --
 GUI/coregui/Models/ParticleCompositionItem.h  |  2 --
 GUI/coregui/Models/ParticleCoreShellItem.cpp  |  2 --
 GUI/coregui/Models/ParticleCoreShellItem.h    |  2 --
 .../Models/ParticleDistributionItem.cpp       |  5 -----
 GUI/coregui/Models/ParticleDistributionItem.h |  2 --
 GUI/coregui/Models/ParticleItem.cpp           |  1 -
 GUI/coregui/Models/ParticleItem.h             |  1 -
 GUI/coregui/Models/ParticleLayoutItem.cpp     |  2 --
 GUI/coregui/Models/PropertyAttribute.cpp      |  1 -
 GUI/coregui/Models/RectangularDetectorItem.h  |  1 -
 .../Models/ResolutionFunctionItems.cpp        |  3 ---
 GUI/coregui/Models/RotationItems.cpp          |  1 -
 GUI/coregui/Models/SampleModel.cpp            |  4 ----
 GUI/coregui/Models/SampleModel.h              |  2 --
 GUI/coregui/Models/SampleValidator.cpp        |  1 -
 GUI/coregui/Models/SampleValidator.h          |  1 -
 GUI/coregui/Models/ScientificDoubleProperty.h |  4 ----
 GUI/coregui/Models/SessionItem.cpp            |  3 ---
 GUI/coregui/Models/SessionItem.h              |  5 -----
 GUI/coregui/Models/SessionModel.cpp           |  8 --------
 GUI/coregui/Models/SessionModel.h             |  3 ---
 GUI/coregui/Models/SessionModelAssistant.h    |  1 -
 GUI/coregui/Models/SessionModelDelegate.cpp   |  5 -----
 GUI/coregui/Models/SessionModelDelegate.h     |  1 -
 GUI/coregui/Models/SessionXML.cpp             |  4 ----
 GUI/coregui/Models/SessionXML.h               |  2 --
 GUI/coregui/Models/SimulationOptionsItem.cpp  |  1 -
 GUI/coregui/Models/SimulationOptionsItem.h    |  1 -
 GUI/coregui/Models/SphericalDetectorItem.cpp  |  2 --
 GUI/coregui/Models/SphericalDetectorItem.h    |  1 -
 GUI/coregui/Models/TestItem.cpp               |  3 ---
 GUI/coregui/Models/TransformFromDomain.cpp    | 20 -------------------
 GUI/coregui/Models/TransformFromDomain.h      |  2 --
 GUI/coregui/Models/TransformToDomain.cpp      | 12 -----------
 GUI/coregui/Models/TransformToDomain.h        |  2 --
 GUI/coregui/Models/TransformationItem.cpp     |  3 ---
 GUI/coregui/Models/TransformationItem.h       |  1 -
 GUI/coregui/Models/VectorItem.cpp             |  1 -
 GUI/coregui/Views/ImportDataView.cpp          |  2 --
 GUI/coregui/Views/ImportDataView.h            |  2 --
 GUI/coregui/Views/InstrumentView.cpp          |  9 ---------
 GUI/coregui/Views/InstrumentView.h            |  5 -----
 GUI/coregui/Views/JobView.cpp                 |  2 --
 GUI/coregui/Views/JobView.h                   |  1 -
 GUI/coregui/Views/SampleView.cpp              |  5 -----
 GUI/coregui/Views/SampleView.h                |  7 -------
 GUI/coregui/Views/SampleViewComponents.cpp    |  2 --
 GUI/coregui/Views/SampleViewComponents.h      |  3 ---
 GUI/coregui/Views/SessionModelView.cpp        |  3 ---
 GUI/coregui/Views/SessionModelView.h          |  2 --
 GUI/coregui/Views/SimulationView.cpp          |  2 --
 GUI/coregui/Views/SimulationView.h            |  1 -
 GUI/coregui/Views/TestComponentView.cpp       |  9 ---------
 GUI/coregui/Views/TestComponentView.h         |  1 -
 GUI/coregui/Views/TestView.cpp                |  9 ---------
 GUI/coregui/Views/TestView.h                  |  3 ---
 GUI/coregui/Views/WelcomeView.cpp             |  5 -----
 GUI/coregui/Views/WelcomeView.h               |  2 --
 GUI/coregui/mainwindow/AppSvc.h               |  1 -
 GUI/coregui/mainwindow/SplashScreen.cpp       |  4 ----
 GUI/coregui/mainwindow/SplashScreen.h         |  1 -
 GUI/coregui/mainwindow/StyledToolBar.cpp      |  1 -
 GUI/coregui/mainwindow/StyledToolBar.h        |  4 ----
 GUI/coregui/mainwindow/UpdateNotifier.h       |  1 -
 .../mainwindow/aboutapplicationdialog.cpp     |  2 --
 .../mainwindow/aboutapplicationdialog.h       |  6 ------
 GUI/coregui/mainwindow/actionmanager.cpp      |  4 ----
 GUI/coregui/mainwindow/actionmanager.h        |  2 --
 GUI/coregui/mainwindow/mainwindow.cpp         |  7 -------
 GUI/coregui/mainwindow/mainwindow.h           |  4 ----
 GUI/coregui/mainwindow/mainwindow_constants.h |  1 -
 GUI/coregui/mainwindow/newprojectdialog.cpp   |  7 -------
 GUI/coregui/mainwindow/newprojectdialog.h     |  5 -----
 GUI/coregui/mainwindow/projectdocument.cpp    | 18 -----------------
 GUI/coregui/mainwindow/projectdocument.h      |  5 -----
 GUI/coregui/mainwindow/projectmanager.cpp     |  5 -----
 GUI/coregui/mainwindow/projectmanager.h       |  4 ----
 GUI/coregui/mainwindow/tooltipdatabase.h      |  2 --
 GUI/coregui/utils/CustomEventFilters.cpp      |  2 --
 GUI/coregui/utils/CustomEventFilters.h        |  2 --
 GUI/coregui/utils/FancyLabel.cpp              |  1 -
 GUI/coregui/utils/FancyLabel.h                |  2 --
 GUI/coregui/utils/GUIHelpers.cpp              |  5 -----
 GUI/coregui/utils/GUIHelpers.h                |  4 ----
 GUI/coregui/utils/GUITest.cpp                 |  5 -----
 GUI/coregui/utils/GUITest.h                   |  2 --
 GUI/coregui/utils/MessageContainer.cpp        |  1 -
 GUI/coregui/utils/WarningMessageService.cpp   |  1 -
 GUI/coregui/utils/WarningMessageService.h     |  1 -
 GUI/coregui/utils/hostosinfo.h                |  2 --
 GUI/coregui/utils/qstringutils.cpp            |  1 -
 GUI/coregui/utils/qstringutils.h              |  1 -
 497 files changed, 2 insertions(+), 1384 deletions(-)

diff --git a/Core/Algorithms/Beam.cpp b/Core/Algorithms/Beam.cpp
index 3f9b836c501..1a137fae7a4 100644
--- a/Core/Algorithms/Beam.cpp
+++ b/Core/Algorithms/Beam.cpp
@@ -15,10 +15,7 @@
 
 #include "Beam.h"
 #include "BornAgainNamespace.h"
-#include "Exceptions.h"
-#include "Numeric.h"
 #include "Complex.h"
-#include <Eigen/LU>
 
 using namespace BornAgain;
 
diff --git a/Core/Algorithms/ChiSquaredModule.cpp b/Core/Algorithms/ChiSquaredModule.cpp
index c1a2fb98370..943b74c6a50 100644
--- a/Core/Algorithms/ChiSquaredModule.cpp
+++ b/Core/Algorithms/ChiSquaredModule.cpp
@@ -14,8 +14,6 @@
 // ************************************************************************** //
 
 #include "ChiSquaredModule.h"
-#include "OutputDataFunctions.h"
-#include <cassert>
 
 //! Updates mp_simulation_data and mp_weights, returns chi^2.
 
diff --git a/Core/Algorithms/ConvolutionDetectorResolution.cpp b/Core/Algorithms/ConvolutionDetectorResolution.cpp
index 9320dc578cf..217b897174f 100644
--- a/Core/Algorithms/ConvolutionDetectorResolution.cpp
+++ b/Core/Algorithms/ConvolutionDetectorResolution.cpp
@@ -16,8 +16,6 @@
 #include "ConvolutionDetectorResolution.h"
 #include "Convolve.h"
 
-#include <iostream>
-#include <cassert>
 
 ConvolutionDetectorResolution::ConvolutionDetectorResolution(
         cumulative_DF_1d res_function_1d)
diff --git a/Core/Algorithms/DWBADiffuseReflection.cpp b/Core/Algorithms/DWBADiffuseReflection.cpp
index c4e3aa66b58..edd38ccd064 100644
--- a/Core/Algorithms/DWBADiffuseReflection.cpp
+++ b/Core/Algorithms/DWBADiffuseReflection.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "DWBADiffuseReflection.h"
-#include "LayerRoughness.h"
 
 DWBADiffuseReflection::DWBADiffuseReflection()
     : m_sample(0)
diff --git a/Core/Algorithms/DWBADiffuseReflection.h b/Core/Algorithms/DWBADiffuseReflection.h
index 91e7a872088..ff218e83f43 100644
--- a/Core/Algorithms/DWBADiffuseReflection.h
+++ b/Core/Algorithms/DWBADiffuseReflection.h
@@ -16,9 +16,6 @@
 #ifndef DWBADIFFUSEREFLECTION_H
 #define DWBADIFFUSEREFLECTION_H
 
-#include "ISimulation.h"
-#include "Units.h"
-#include "MultiLayer.h"
 #include "SpecularMatrix.h"
 
 //! @class DWBADiffuseReflection
diff --git a/Core/Algorithms/DWBASimulation.h b/Core/Algorithms/DWBASimulation.h
index d43b2390ce4..647d32c0694 100644
--- a/Core/Algorithms/DWBASimulation.h
+++ b/Core/Algorithms/DWBASimulation.h
@@ -16,14 +16,9 @@
 #ifndef DWBASIMULATION_H
 #define DWBASIMULATION_H
 
-#include "Complex.h"
 #include "ISimulation.h"
 #include "GISASSimulation.h"
-#include "OutputData.h"
-#include "ThreadInfo.h"
-#include "EigenCore.h"
 #include "ProgressHandlerDWBA.h"
-#include "SimulationElement.h"
 
 //! @class DWBASimulation
 //! @ingroup algorithms_internal
diff --git a/Core/Algorithms/DecoratedLayerDWBASimulation.cpp b/Core/Algorithms/DecoratedLayerDWBASimulation.cpp
index 9d6348d1fe8..91ce0448553 100644
--- a/Core/Algorithms/DecoratedLayerDWBASimulation.cpp
+++ b/Core/Algorithms/DecoratedLayerDWBASimulation.cpp
@@ -16,9 +16,7 @@
 #include "DecoratedLayerDWBASimulation.h"
 #include "Layer.h"
 #include "MessageService.h"
-#include "BornAgainNamespace.h"
 
-#include <memory>
 
 DecoratedLayerDWBASimulation::DecoratedLayerDWBASimulation(const Layer *p_layer,
                                                            size_t layout_index)
diff --git a/Core/Algorithms/DecoratedLayerDWBASimulation.h b/Core/Algorithms/DecoratedLayerDWBASimulation.h
index 23f64a234fe..dff81e10b74 100644
--- a/Core/Algorithms/DecoratedLayerDWBASimulation.h
+++ b/Core/Algorithms/DecoratedLayerDWBASimulation.h
@@ -19,7 +19,6 @@
 #include "LayerDWBASimulation.h"
 #include "IInterferenceFunctionStrategy.h"
 
-class Layer;
 
 //! @class DecoratedLayerDWBASimulation
 //! @ingroup algorithms_internal
diff --git a/Core/Algorithms/DecouplingApproximationStrategy.cpp b/Core/Algorithms/DecouplingApproximationStrategy.cpp
index 2699c0d2e27..05e3c31f216 100644
--- a/Core/Algorithms/DecouplingApproximationStrategy.cpp
+++ b/Core/Algorithms/DecouplingApproximationStrategy.cpp
@@ -14,11 +14,7 @@
 // ************************************************************************** //
 
 #include "DecouplingApproximationStrategy.h"
-#include "Exceptions.h"
-#include "MathFunctions.h"
 
-#include <cassert>
-#include <iostream>
 
 void
 DecouplingApproximationStrategy::init(const SafePointerVector<FormFactorInfo> &form_factor_infos,
diff --git a/Core/Algorithms/DecouplingApproximationStrategy.h b/Core/Algorithms/DecouplingApproximationStrategy.h
index 08dad3c9613..1cba43fcf10 100644
--- a/Core/Algorithms/DecouplingApproximationStrategy.h
+++ b/Core/Algorithms/DecouplingApproximationStrategy.h
@@ -16,7 +16,6 @@
 #ifndef DECOUPLINGAPPROXIMATIONSTRATEGY_H
 #define DECOUPLINGAPPROXIMATIONSTRATEGY_H
 
-#include "Complex.h"
 #include "IInterferenceFunctionStrategy.h"
 
 //! @class DecouplingApproximationStrategy
diff --git a/Core/Algorithms/DetectorMask.cpp b/Core/Algorithms/DetectorMask.cpp
index e73f38c87f4..92ed8aa17e2 100644
--- a/Core/Algorithms/DetectorMask.cpp
+++ b/Core/Algorithms/DetectorMask.cpp
@@ -13,9 +13,7 @@
 //
 // ************************************************************************** //
 
-#include "DetectorMask.h"
 #include "IDetector2D.h"
-#include "IShape2D.h"
 #include "BornAgainNamespace.h"
 
 
diff --git a/Core/Algorithms/DetectorMask.h b/Core/Algorithms/DetectorMask.h
index 0b0f1ce2906..c155647f292 100644
--- a/Core/Algorithms/DetectorMask.h
+++ b/Core/Algorithms/DetectorMask.h
@@ -16,11 +16,8 @@
 #ifndef DETECTORMASK_H
 #define DETECTORMASK_H
 
-#include "WinDllMacros.h"
-#include "SafePointerVector.h"
 #include "OutputData.h"
 #include "IShape2D.h"
-#include <map>
 
 
 class IDetector2D;
diff --git a/Core/Algorithms/DistributionHandler.h b/Core/Algorithms/DistributionHandler.h
index 0c86164ffd4..fa0c641edf2 100644
--- a/Core/Algorithms/DistributionHandler.h
+++ b/Core/Algorithms/DistributionHandler.h
@@ -16,11 +16,9 @@
 #ifndef DISTRIBUTIONHANDLER_H
 #define DISTRIBUTIONHANDLER_H
 
-#include "IParameterized.h"
 #include "ParameterDistribution.h"
 
 
-class IDistribution1D;
 
 //! @class DistributionHandler
 //! @ingroup algorithms_internal
diff --git a/Core/Algorithms/Distributions.cpp b/Core/Algorithms/Distributions.cpp
index 87ee4922114..d51243643cf 100644
--- a/Core/Algorithms/Distributions.cpp
+++ b/Core/Algorithms/Distributions.cpp
@@ -16,7 +16,6 @@
 #include "Distributions.h"
 #include "BornAgainNamespace.h"
 #include "MathFunctions.h"
-#include "Exceptions.h"
 
 using namespace BornAgain;
 
diff --git a/Core/Algorithms/Distributions.h b/Core/Algorithms/Distributions.h
index 82972513e20..e5b9198f6dd 100644
--- a/Core/Algorithms/Distributions.h
+++ b/Core/Algorithms/Distributions.h
@@ -19,7 +19,6 @@
 #include "IParameterized.h"
 #include "ParameterSample.h"
 
-class AttLimits;
 
 //! @class IDistribution1D
 //! @ingroup algorithms_internal
diff --git a/Core/Algorithms/FTDecayFunctions.h b/Core/Algorithms/FTDecayFunctions.h
index 8ccc199073d..df12a63d77a 100644
--- a/Core/Algorithms/FTDecayFunctions.h
+++ b/Core/Algorithms/FTDecayFunctions.h
@@ -18,7 +18,6 @@
 
 #include "IParameterized.h"
 #include "Units.h"
-#include "Numeric.h"
 
 
 //! @class IFTDecayFunction1D
diff --git a/Core/Algorithms/FTDistributions.h b/Core/Algorithms/FTDistributions.h
index c949a16e7a3..98658986a58 100644
--- a/Core/Algorithms/FTDistributions.h
+++ b/Core/Algorithms/FTDistributions.h
@@ -18,7 +18,6 @@
 
 #include "IParameterized.h"
 #include "Units.h"
-#include "Numeric.h"
 
 
 //! @class IFTDistribution1D
diff --git a/Core/Algorithms/FitElement.h b/Core/Algorithms/FitElement.h
index 57c7f298f08..ae759d362b9 100644
--- a/Core/Algorithms/FitElement.h
+++ b/Core/Algorithms/FitElement.h
@@ -16,7 +16,6 @@
 #ifndef FITELEMENT_H
 #define FITELEMENT_H
 
-#include "WinDllMacros.h"
 #include <cstddef>
 
 //! @class FitElement
diff --git a/Core/Algorithms/GISASSimulation.cpp b/Core/Algorithms/GISASSimulation.cpp
index 99badaa3ee8..3b86d444aff 100644
--- a/Core/Algorithms/GISASSimulation.cpp
+++ b/Core/Algorithms/GISASSimulation.cpp
@@ -13,15 +13,7 @@
 //
 // ************************************************************************** //
 
-#include <gsl/gsl_errno.h>
-#include <memory>
-#include "Macros.h"
-#include "MathFunctions.h"
-#include "MessageService.h"
-#include "OutputDataFunctions.h"
 #include "BornAgainNamespace.h"
-#include "ProgressHandlerDWBA.h"
-#include "OMPISimulation.h"
 #include "Histogram2D.h"
 #include "GISASSimulation.h"
 
diff --git a/Core/Algorithms/GISASSimulation.h b/Core/Algorithms/GISASSimulation.h
index fd2e696b0cb..099541e7634 100644
--- a/Core/Algorithms/GISASSimulation.h
+++ b/Core/Algorithms/GISASSimulation.h
@@ -16,12 +16,8 @@
 #ifndef GISASSIMULATION_H
 #define GISASSIMULATION_H
 
-#include "ISampleBuilder.h"
 #include "Instrument.h"
-#include "SimulationOptions.h"
-#include "DistributionHandler.h"
 #include "Simulation.h"
-#include "EigenCore.h"
 
 //! @class Simulation
 //! @ingroup simulation
diff --git a/Core/Algorithms/IDetector2D.cpp b/Core/Algorithms/IDetector2D.cpp
index 976b437a462..ed35c3b877a 100644
--- a/Core/Algorithms/IDetector2D.cpp
+++ b/Core/Algorithms/IDetector2D.cpp
@@ -15,12 +15,8 @@
 
 #include "IDetector2D.h"
 #include "MessageService.h"
-#include "BornAgainNamespace.h"
-#include "Rectangle.h"
 #include "InfinitePlane.h"
 
-#include <Eigen/LU>
-#include <memory>
 
 IDetector2D::IDetector2D()
     : m_axes()
diff --git a/Core/Algorithms/IDetector2D.h b/Core/Algorithms/IDetector2D.h
index ea474aa0c4f..68400ec34b0 100644
--- a/Core/Algorithms/IDetector2D.h
+++ b/Core/Algorithms/IDetector2D.h
@@ -16,18 +16,12 @@
 #ifndef IDETECTOR2D_H
 #define IDETECTOR2D_H
 
-#include "Complex.h"
-#include "IParameterized.h"
-#include "EigenCore.h"
-#include "IPixelMap.h"
 #include "IDetectorResolution.h"
 #include "DetectorMask.h"
 #include "SimulationElement.h"
 #include "Beam.h"
 
-#include <memory>
 
-class GISASSimulation;
 
 //! @class IDetector
 //! @ingroup simulation
diff --git a/Core/Algorithms/IDetectorResolution.h b/Core/Algorithms/IDetectorResolution.h
index 28b6a4e94e6..e42e55226e9 100644
--- a/Core/Algorithms/IDetectorResolution.h
+++ b/Core/Algorithms/IDetectorResolution.h
@@ -18,8 +18,6 @@
 
 #include "OutputData.h"
 #include "IParameterized.h"
-#include "ICloneable.h"
-#include "EigenCore.h"
 
 
 //! @class IDetectorResolution
diff --git a/Core/Algorithms/IIntensityFunction.h b/Core/Algorithms/IIntensityFunction.h
index 6c668249073..eb3aeb74444 100644
--- a/Core/Algorithms/IIntensityFunction.h
+++ b/Core/Algorithms/IIntensityFunction.h
@@ -17,7 +17,6 @@
 #ifndef IINTENSITYFUNCTION_H
 #define IINTENSITYFUNCTION_H
 
-#include <cmath>
 
 
 //! @class IIntensityFunction
diff --git a/Core/Algorithms/IIntensityNormalizer.cpp b/Core/Algorithms/IIntensityNormalizer.cpp
index db7dc073f37..0f1a18b53aa 100644
--- a/Core/Algorithms/IIntensityNormalizer.cpp
+++ b/Core/Algorithms/IIntensityNormalizer.cpp
@@ -14,8 +14,6 @@
 // ************************************************************************** //
 
 #include "IIntensityNormalizer.h"
-#include <algorithm>
-#include <iostream>
 
 void IntensityNormalizer::init_parameters()
 {
diff --git a/Core/Algorithms/IInterferenceFunctionStrategy.cpp b/Core/Algorithms/IInterferenceFunctionStrategy.cpp
index 1e7b619db53..387f7c7a0b4 100644
--- a/Core/Algorithms/IInterferenceFunctionStrategy.cpp
+++ b/Core/Algorithms/IInterferenceFunctionStrategy.cpp
@@ -15,7 +15,6 @@
 
 #include "IInterferenceFunctionStrategy.h"
 #include "IntegratorMCMiser.h"
-#include "ScalarRTCoefficients.h"
 
 IInterferenceFunctionStrategy::IInterferenceFunctionStrategy(SimulationOptions sim_params)
     : mP_iff { nullptr }
diff --git a/Core/Algorithms/IInterferenceFunctionStrategy.h b/Core/Algorithms/IInterferenceFunctionStrategy.h
index 9edaaec62be..be41702828f 100644
--- a/Core/Algorithms/IInterferenceFunctionStrategy.h
+++ b/Core/Algorithms/IInterferenceFunctionStrategy.h
@@ -16,18 +16,11 @@
 #ifndef IINTERFERENCEFUNCTIONSTRATEGY_H
 #define IINTERFERENCEFUNCTIONSTRATEGY_H
 
-#include "IFormFactor.h"
 #include "IInterferenceFunction.h"
-#include "Bin.h"
-#include "SafePointerVector.h"
 #include "LayerStrategyBuilder.h"
 #include "FormFactorDWBAPol.h"
 #include "SimulationElement.h"
 
-#include <vector>
-#include <memory>
-#include <memory>
-#include <Eigen/StdVector>
 
 // Forward declaration to prevent IntegratorMCMiser.h to be parsed for Python API:
 template <class T> class IntegratorMCMiser;
diff --git a/Core/Algorithms/ISampleBuilder.h b/Core/Algorithms/ISampleBuilder.h
index b9fb5285f54..0215453a2ca 100644
--- a/Core/Algorithms/ISampleBuilder.h
+++ b/Core/Algorithms/ISampleBuilder.h
@@ -16,7 +16,6 @@
 #ifndef ISAMPLEBUILDER_H
 #define ISAMPLEBUILDER_H
 
-#include "IParameterized.h"
 #include "FTDistributions.h"
 #include "IFormFactor.h"
 
diff --git a/Core/Algorithms/ISquaredFunction.h b/Core/Algorithms/ISquaredFunction.h
index 689cbcc3cd3..b340f079903 100644
--- a/Core/Algorithms/ISquaredFunction.h
+++ b/Core/Algorithms/ISquaredFunction.h
@@ -17,9 +17,7 @@
 #define ISQUAREDFUNCTION_H
 
 #include "Numeric.h"
-#include "Exceptions.h"
 
-#include <iostream>
 
 
 //! @class ISquaredFunction
diff --git a/Core/Algorithms/Instrument.cpp b/Core/Algorithms/Instrument.cpp
index 086dffcfc96..0af09c4bc5a 100644
--- a/Core/Algorithms/Instrument.cpp
+++ b/Core/Algorithms/Instrument.cpp
@@ -16,8 +16,6 @@
 #include "Instrument.h"
 #include "SphericalDetector.h"
 #include "ConvolutionDetectorResolution.h"
-#include "BornAgainNamespace.h"
-#include <memory>
 
 Instrument::Instrument()
     : IParameterized("Instrument")
diff --git a/Core/Algorithms/Instrument.h b/Core/Algorithms/Instrument.h
index aa067d9b85b..cb6c7954c7a 100644
--- a/Core/Algorithms/Instrument.h
+++ b/Core/Algorithms/Instrument.h
@@ -16,11 +16,9 @@
 #ifndef INSTRUMENT_H
 #define INSTRUMENT_H
 
-#include "Beam.h"
 #include "IDetector2D.h"
 #include "IResolutionFunction2D.h"
 
-#include <memory>
 
 //! @class Instrument
 //! @ingroup simulation_internal
diff --git a/Core/Algorithms/InterferenceFunctionStrategies.h b/Core/Algorithms/InterferenceFunctionStrategies.h
index 666b0dadcc5..b9f9a29a517 100644
--- a/Core/Algorithms/InterferenceFunctionStrategies.h
+++ b/Core/Algorithms/InterferenceFunctionStrategies.h
@@ -16,7 +16,6 @@
 #ifndef INTERFERENCEFUNCTIONSTRATEGIES_H
 #define INTERFERENCEFUNCTIONSTRATEGIES_H
 
-#include "IInterferenceFunctionStrategy.h"
 #include "DecouplingApproximationStrategy.h"
 #include "SizeSpacingCorrelationApproximationStrategy.h"
 
diff --git a/Core/Algorithms/LayerDWBASimulation.cpp b/Core/Algorithms/LayerDWBASimulation.cpp
index 3b47868f23d..0af8265be7a 100644
--- a/Core/Algorithms/LayerDWBASimulation.cpp
+++ b/Core/Algorithms/LayerDWBASimulation.cpp
@@ -13,10 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "LayerDWBASimulation.h"
 #include "Layer.h"
 
-#include <cassert>
 
 LayerDWBASimulation::LayerDWBASimulation(const Layer *p_layer)
 : mp_specular_info(0)
diff --git a/Core/Algorithms/LayerSpecularInfo.h b/Core/Algorithms/LayerSpecularInfo.h
index bd75729e9c4..fb22d76756b 100644
--- a/Core/Algorithms/LayerSpecularInfo.h
+++ b/Core/Algorithms/LayerSpecularInfo.h
@@ -16,9 +16,7 @@
 #ifndef LAYERSPECULARINFO_H
 #define LAYERSPECULARINFO_H
 
-#include "Utils.h"
 #include "ICloneable.h"
-#include "ILayerRTCoefficients.h"
 #include "ISpecularInfoMap.h"
 
 #include <memory>
diff --git a/Core/Algorithms/LayerStrategyBuilder.cpp b/Core/Algorithms/LayerStrategyBuilder.cpp
index 0b61e4714f3..13cff749f40 100644
--- a/Core/Algorithms/LayerStrategyBuilder.cpp
+++ b/Core/Algorithms/LayerStrategyBuilder.cpp
@@ -14,14 +14,11 @@
 //
 // ************************************************************************** //
 
-#include "LayerStrategyBuilder.h"
 #include "Layer.h"
-#include "Simulation.h"
 #include "InterferenceFunctions.h"
 #include "InterferenceFunctionStrategies.h"
 #include "FormFactorTools.h"
 
-#include <memory>
 
 LayerStrategyBuilder::LayerStrategyBuilder(const Layer &decorated_layer,
                                            const Simulation &simulation,
diff --git a/Core/Algorithms/LayerStrategyBuilder.h b/Core/Algorithms/LayerStrategyBuilder.h
index 05e2cdebb82..f21d5a6805d 100644
--- a/Core/Algorithms/LayerStrategyBuilder.h
+++ b/Core/Algorithms/LayerStrategyBuilder.h
@@ -18,17 +18,13 @@
 
 #include "SimulationOptions.h"
 #include "SafePointerVector.h"
-#include "ICloneable.h"
 #include "IMaterial.h"
 
 #include <memory>
 
 class FormFactorInfo;
-class IInterferenceFunction;
 class IInterferenceFunctionStrategy;
-class Layer;
 class Simulation;
-class IFormFactor;
 class LayerSpecularInfo;
 
 
diff --git a/Core/Algorithms/Mask.cpp b/Core/Algorithms/Mask.cpp
index ff60e5bc088..bbd8b8c9010 100644
--- a/Core/Algorithms/Mask.cpp
+++ b/Core/Algorithms/Mask.cpp
@@ -15,8 +15,6 @@
 
 #include "Mask.h"
 
-#include <iostream>
-#include <algorithm>
 
 // ************************************************************************** //
 // implement class Mask
diff --git a/Core/Algorithms/MaskCoordinateFunction.cpp b/Core/Algorithms/MaskCoordinateFunction.cpp
index 8f8bce2d21a..6ebff3a12fe 100644
--- a/Core/Algorithms/MaskCoordinateFunction.cpp
+++ b/Core/Algorithms/MaskCoordinateFunction.cpp
@@ -14,9 +14,7 @@
 // ************************************************************************** //
 
 #include "MaskCoordinateFunction.h"
-#include "Exceptions.h"
 
-#include <algorithm>
 
 MaskCoordinateFunction::MaskCoordinateFunction(size_t rank)
     : m_rank(rank)
diff --git a/Core/Algorithms/MaskCoordinateFunction.h b/Core/Algorithms/MaskCoordinateFunction.h
index 822695f3b44..cd9724e20b1 100644
--- a/Core/Algorithms/MaskCoordinateFunction.h
+++ b/Core/Algorithms/MaskCoordinateFunction.h
@@ -17,7 +17,6 @@
 #ifndef MASKCOORDINATEFUNCTION_H
 #define MASKCOORDINATEFUNCTION_H
 
-#include <cstddef>
 #include "ICloneable.h"
 
 
diff --git a/Core/Algorithms/MatrixRTCoefficients.h b/Core/Algorithms/MatrixRTCoefficients.h
index 51867170d6a..f71d2217560 100644
--- a/Core/Algorithms/MatrixRTCoefficients.h
+++ b/Core/Algorithms/MatrixRTCoefficients.h
@@ -17,7 +17,6 @@
 #define MATRIXRTCOEFFICIENTS_H
 
 #include "ILayerRTCoefficients.h"
-#include "Complex.h"
 
 
 //! @class MatrixRTCoefficients
diff --git a/Core/Algorithms/MatrixSpecularInfoMap.h b/Core/Algorithms/MatrixSpecularInfoMap.h
index d951c9ecfaf..5c0436b221f 100644
--- a/Core/Algorithms/MatrixSpecularInfoMap.h
+++ b/Core/Algorithms/MatrixSpecularInfoMap.h
@@ -16,12 +16,9 @@
 #ifndef MATRIXSPECULARINFOMAP_H
 #define MATRIXSPECULARINFOMAP_H
 
-#include "ISpecularInfoMap.h"
 #include "MatrixRTCoefficients.h"
 #include "MultiLayer.h"
-#include "Utils.h"
 
-#include <memory>
 
 
 //! @class MatrixSpecularInfoMap
diff --git a/Core/Algorithms/MultiLayerDWBASimulation.cpp b/Core/Algorithms/MultiLayerDWBASimulation.cpp
index 26fdfb51dbe..ab9288cf0fd 100644
--- a/Core/Algorithms/MultiLayerDWBASimulation.cpp
+++ b/Core/Algorithms/MultiLayerDWBASimulation.cpp
@@ -13,16 +13,11 @@
 //
 // ************************************************************************** //
 
-#include "MultiLayerDWBASimulation.h"
 
-#include "SpecularMatrix.h"
-#include "SpecularMagnetic.h"
-#include "MultiLayer.h"
 #include "MultiLayerRoughnessDWBASimulation.h"
 #include "MessageService.h"
 #include "ScalarSpecularInfoMap.h"
 #include "MatrixSpecularInfoMap.h"
-#include "BornAgainNamespace.h"
 
 
 MultiLayerDWBASimulation::MultiLayerDWBASimulation(
diff --git a/Core/Algorithms/MultiLayerDWBASimulation.h b/Core/Algorithms/MultiLayerDWBASimulation.h
index 9abeff5e070..363000985d6 100644
--- a/Core/Algorithms/MultiLayerDWBASimulation.h
+++ b/Core/Algorithms/MultiLayerDWBASimulation.h
@@ -17,12 +17,8 @@
 #define MULTILAYERDWBASIMULATION_H
 
 #include "LayerDWBASimulation.h"
-#include "SafePointerVector.h"
 
-#include <set>
-#include <map>
 
-class MultiLayer;
 class MultiLayerRoughnessDWBASimulation;
 
 
diff --git a/Core/Algorithms/MultiLayerRoughnessDWBASimulation.cpp b/Core/Algorithms/MultiLayerRoughnessDWBASimulation.cpp
index 6296ac7e788..0aaab51ad48 100644
--- a/Core/Algorithms/MultiLayerRoughnessDWBASimulation.cpp
+++ b/Core/Algorithms/MultiLayerRoughnessDWBASimulation.cpp
@@ -14,12 +14,9 @@
 // ************************************************************************** //
 
 #include "MultiLayerRoughnessDWBASimulation.h"
-#include "MultiLayer.h"
 #include "DWBADiffuseReflection.h"
-#include "BornAgainNamespace.h"
 #include "Faddeeva.hh"
 
-#include <memory>
 
 // Diffuse scattering from rough interfaces is modelled after
 // Phys. Rev. B, vol. 51 (4), p. 2311 (1995)
diff --git a/Core/Algorithms/MultiLayerRoughnessDWBASimulation.h b/Core/Algorithms/MultiLayerRoughnessDWBASimulation.h
index b8a32ff76ea..952f9d5bbc7 100644
--- a/Core/Algorithms/MultiLayerRoughnessDWBASimulation.h
+++ b/Core/Algorithms/MultiLayerRoughnessDWBASimulation.h
@@ -19,9 +19,7 @@
 #include "DWBASimulation.h"
 #include "LayerSpecularInfo.h"
 
-#include <vector>
 
-class MultiLayer;
 
 
 //! @class MultiLayerRoughnessDWBASimulation
diff --git a/Core/Algorithms/OMPISimulation.cpp b/Core/Algorithms/OMPISimulation.cpp
index 04023908616..ab2fa92e97e 100644
--- a/Core/Algorithms/OMPISimulation.cpp
+++ b/Core/Algorithms/OMPISimulation.cpp
@@ -14,15 +14,10 @@
 // ************************************************************************** //
 
 #include "OMPISimulation.h"
-#include "GISASSimulation.h"
-#include "OutputData.h"
-#include "Exceptions.h"
-#include "MessageService.h"
 #include "OutputDataFunctions.h"
 
 #ifdef BORNAGAIN_OPENMPI
 
-#include <mpi.h>
 
 
 void OMPISimulation::runSimulation(Simulation * simulation)
diff --git a/Core/Algorithms/OffSpecSimulation.cpp b/Core/Algorithms/OffSpecSimulation.cpp
index e7f36d99f58..5292f0d49e5 100644
--- a/Core/Algorithms/OffSpecSimulation.cpp
+++ b/Core/Algorithms/OffSpecSimulation.cpp
@@ -13,11 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "OutputDataFunctions.h"
 #include "BornAgainNamespace.h"
 #include "Histogram2D.h"
 #include "OffSpecSimulation.h"
-#include <memory>
 
 OffSpecSimulation::OffSpecSimulation()
     : mp_alpha_i_axis(0)
diff --git a/Core/Algorithms/OffSpecSimulation.h b/Core/Algorithms/OffSpecSimulation.h
index 59ea0fdfb87..9772bb6abfc 100644
--- a/Core/Algorithms/OffSpecSimulation.h
+++ b/Core/Algorithms/OffSpecSimulation.h
@@ -19,7 +19,6 @@
 #include "Simulation.h"
 #include "Instrument.h"
 
-class Histogram2D;
 
 //! @class OffSpecSimulation
 //! @ingroup simulation
diff --git a/Core/Algorithms/ProgressHandler.cpp b/Core/Algorithms/ProgressHandler.cpp
index 6bc88996c8e..78fbd89429a 100644
--- a/Core/Algorithms/ProgressHandler.cpp
+++ b/Core/Algorithms/ProgressHandler.cpp
@@ -13,13 +13,7 @@
 //
 // ************************************************************************** //
 
-#include "ProgressHandler.h"
-#include "Exceptions.h"
-#include "Simulation.h"
-#include "Instrument.h"
-#include "IDetector2D.h"
 #include "MultiLayer.h"
-#include "LayerInterface.h"
 #include <mutex>
 
 
diff --git a/Core/Algorithms/ProgressHandler.h b/Core/Algorithms/ProgressHandler.h
index 1053e1f99f9..b9d029dd3f6 100644
--- a/Core/Algorithms/ProgressHandler.h
+++ b/Core/Algorithms/ProgressHandler.h
@@ -16,8 +16,6 @@
 #ifndef PROGRESSHANDLER_H
 #define PROGRESSHANDLER_H
 
-#include "WinDllMacros.h"
-#include <functional>
 #include <memory>
 
 class Simulation;
diff --git a/Core/Algorithms/RectangularDetector.cpp b/Core/Algorithms/RectangularDetector.cpp
index bc74bc779bb..481a3270c7c 100644
--- a/Core/Algorithms/RectangularDetector.cpp
+++ b/Core/Algorithms/RectangularDetector.cpp
@@ -13,20 +13,10 @@
 //
 // ************************************************************************** //
 
-#include "Units.h"
 #include "RectangularDetector.h"
-#include "MessageService.h"
 #include "BornAgainNamespace.h"
-#include "FixedBinAxis.h"
-#include "ConstKBinAxis.h"
-#include "CustomBinAxis.h"
-#include "Beam.h"
-#include "Rectangle.h"
 #include "GISASSimulation.h"
-#include "Instrument.h"
-#include "Beam.h"
 
-#include <iostream>
 
 RectangularDetector::RectangularDetector(int nxbins, double width, int nybins, double height)
     : m_u0(0.0)
diff --git a/Core/Algorithms/RectangularDetector.h b/Core/Algorithms/RectangularDetector.h
index 5c76b779c19..f5467bdeb3d 100644
--- a/Core/Algorithms/RectangularDetector.h
+++ b/Core/Algorithms/RectangularDetector.h
@@ -17,15 +17,7 @@
 #define RECTANGULARDETECTOR_H
 
 #include "IDetector2D.h"
-#include "IDetectorResolution.h"
-#include "SafePointerVector.h"
-#include "EigenCore.h"
-#include "DetectorMask.h"
-#include "SimulationElement.h"
-#include "Beam.h"
-#include "IPixelMap.h"
-
-class RectPixelMap;
+
 
 //! @class RectangularDetector
 //! @ingroup simulation
diff --git a/Core/Algorithms/ScalarRTCoefficients.h b/Core/Algorithms/ScalarRTCoefficients.h
index b35e4854700..2a3baa917a2 100644
--- a/Core/Algorithms/ScalarRTCoefficients.h
+++ b/Core/Algorithms/ScalarRTCoefficients.h
@@ -16,8 +16,6 @@
 #ifndef SCALARRTCOEFFICIENTS_H2
 #define SCALARRTCOEFFICIENTS_H2
 
-#include "ILayerRTCoefficients.h"
-#include "Complex.h"
 
 
 //! @class ScalarRTCoefficients
diff --git a/Core/Algorithms/ScalarSpecularInfoMap.h b/Core/Algorithms/ScalarSpecularInfoMap.h
index 2aa76ea9159..fc9d0e63515 100644
--- a/Core/Algorithms/ScalarSpecularInfoMap.h
+++ b/Core/Algorithms/ScalarSpecularInfoMap.h
@@ -19,7 +19,6 @@
 #include "ISpecularInfoMap.h"
 #include "ScalarRTCoefficients.h"
 #include "MultiLayer.h"
-#include "Utils.h"
 
 
 //! @class ScalarSpecularInfoMap
diff --git a/Core/Algorithms/Simulation.cpp b/Core/Algorithms/Simulation.cpp
index e4ee7a6ea7c..6d3cea0a7c0 100644
--- a/Core/Algorithms/Simulation.cpp
+++ b/Core/Algorithms/Simulation.cpp
@@ -13,20 +13,12 @@
 //
 // ************************************************************************** //
 
-#include <memory>
 #include <thread>
 #include <gsl/gsl_errno.h>
 
-#include "Macros.h"
-#include "MathFunctions.h"
 #include "DWBASimulation.h"
 #include "MessageService.h"
-#include "OutputDataFunctions.h"
-#include "BornAgainNamespace.h"
-#include "ProgressHandlerDWBA.h"
 #include "OMPISimulation.h"
-#include "ISample.h"
-#include "Simulation.h"
 
 
 Simulation::Simulation()
diff --git a/Core/Algorithms/Simulation.h b/Core/Algorithms/Simulation.h
index 2fb7c8d9fa6..dccc2ea3425 100644
--- a/Core/Algorithms/Simulation.h
+++ b/Core/Algorithms/Simulation.h
@@ -16,14 +16,11 @@
 #ifndef SIMULATION_H
 #define SIMULATION_H
 
-#include "ISample.h"
 #include "ISampleBuilder.h"
 #include "SimulationOptions.h"
 #include "DistributionHandler.h"
 #include "ProgressHandler.h"
 #include "IDetector2D.h"
-#include "EigenCore.h"
-#include "SimulationElement.h"
 
 template <class T> class OutputData;
 
diff --git a/Core/Algorithms/SimulationElement.cpp b/Core/Algorithms/SimulationElement.cpp
index 0f57bf298a5..d92c280ad82 100644
--- a/Core/Algorithms/SimulationElement.cpp
+++ b/Core/Algorithms/SimulationElement.cpp
@@ -13,10 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "SimulationElement.h"
 #include "IDetector2D.h"
 
-#include <Bin.h>
 
 SimulationElement::SimulationElement(double wavelength, double alpha_i, double phi_i,
                                      const IPixelMap *pixelmap)
diff --git a/Core/Algorithms/SimulationOptions.h b/Core/Algorithms/SimulationOptions.h
index dd7701909f8..c8b80299d41 100644
--- a/Core/Algorithms/SimulationOptions.h
+++ b/Core/Algorithms/SimulationOptions.h
@@ -16,10 +16,8 @@
 #ifndef SIMULATIONOPTIONS_H
 #define SIMULATIONOPTIONS_H
 
-#include "WinDllMacros.h"
 #include "ThreadInfo.h"
 
-#include <cstddef>
 
 //! @class SimulationOptions
 //! @ingroup simulation
diff --git a/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.cpp b/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.cpp
index 734dc8b3b17..d2fb443bd42 100644
--- a/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.cpp
+++ b/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.cpp
@@ -15,7 +15,6 @@
 
 #include "SizeSpacingCorrelationApproximationStrategy.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
-#include "MathFunctions.h"
 
 SizeSpacingCorrelationApproximationStrategy::SizeSpacingCorrelationApproximationStrategy(
     SimulationOptions sim_params, double kappa)
diff --git a/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.h b/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.h
index 1173d9d7f92..7be7015b8d2 100644
--- a/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.h
+++ b/Core/Algorithms/SizeSpacingCorrelationApproximationStrategy.h
@@ -16,7 +16,6 @@
 #ifndef SIZESPACINGCORRELATIONAPPROXIMATIONSTRATEGY_H
 #define SIZESPACINGCORRELATIONAPPROXIMATIONSTRATEGY_H
 
-#include "Complex.h"
 #include "IInterferenceFunctionStrategy.h"
 
 //! @class SizeSpacingCorrelationApproximationStrategy
diff --git a/Core/Algorithms/SpecularMagnetic.h b/Core/Algorithms/SpecularMagnetic.h
index f2379394b20..917e8771a83 100644
--- a/Core/Algorithms/SpecularMagnetic.h
+++ b/Core/Algorithms/SpecularMagnetic.h
@@ -16,11 +16,8 @@
 #ifndef SPECULARMAGNETIC_H
 #define SPECULARMAGNETIC_H
 
-#include "Complex.h"
-#include "ISimulation.h"
 #include "MultiLayer.h"
 #include "MatrixRTCoefficients.h"
-#include "EigenCore.h"
 
 
 //! @class SpecularMagnetic
diff --git a/Core/Algorithms/SpecularMatrix.cpp b/Core/Algorithms/SpecularMatrix.cpp
index 742de9ef1a9..8bd01a3c029 100644
--- a/Core/Algorithms/SpecularMatrix.cpp
+++ b/Core/Algorithms/SpecularMatrix.cpp
@@ -15,10 +15,8 @@
 
 
 #include "SpecularMatrix.h"
-#include "Numeric.h"
 #include "MathFunctions.h"
 
-using std::sqrt;
 
 namespace {
     const complex_t imag_unit = complex_t(0.0, 1.0);
diff --git a/Core/Algorithms/SpecularMatrix.h b/Core/Algorithms/SpecularMatrix.h
index 45f6e4c3f44..fdd62b054d4 100644
--- a/Core/Algorithms/SpecularMatrix.h
+++ b/Core/Algorithms/SpecularMatrix.h
@@ -16,11 +16,8 @@
 #ifndef SPECULARMATRIX_H
 #define SPECULARMATRIX_H
 
-#include "Complex.h"
-#include "ISimulation.h"
 #include "MultiLayer.h"
 #include "ScalarRTCoefficients.h"
-#include "EigenCore.h"
 
 
 //! @class SpecularMatrix
diff --git a/Core/Algorithms/SpecularSimulation.cpp b/Core/Algorithms/SpecularSimulation.cpp
index b28dd836b4d..c1b4aae9eda 100644
--- a/Core/Algorithms/SpecularSimulation.cpp
+++ b/Core/Algorithms/SpecularSimulation.cpp
@@ -14,10 +14,6 @@
 // ************************************************************************** //
 
 #include "SpecularSimulation.h"
-#include "MultiLayer.h"
-#include "SpecularMatrix.h"
-#include "Units.h"
-#include <iostream>
 
 SpecularSimulation::SpecularSimulation()
     : IParameterized("SpecularSimulation"), m_sample(0), m_alpha_i_axis(0), m_z_axis(0),
diff --git a/Core/Algorithms/SpecularSimulation.h b/Core/Algorithms/SpecularSimulation.h
index bad884f6eeb..a98c7d22fa8 100644
--- a/Core/Algorithms/SpecularSimulation.h
+++ b/Core/Algorithms/SpecularSimulation.h
@@ -17,14 +17,11 @@
 #define SPECULARSIMULATION_H
 
 //#include "MultiLayerRTCoefficients.h"
-#include "OutputData.h"
 
 #ifndef SWIG
 #include "SpecularMatrix.h"
 #endif
-#include <vector>
 
-#include <memory>
 
 
 //! @class SpecularSimulation
diff --git a/Core/Algorithms/SphericalDetector.cpp b/Core/Algorithms/SphericalDetector.cpp
index 58ea59248bb..c1d59c17f99 100644
--- a/Core/Algorithms/SphericalDetector.cpp
+++ b/Core/Algorithms/SphericalDetector.cpp
@@ -15,15 +15,8 @@
 
 #include "Units.h"
 #include "SphericalDetector.h"
-#include "MessageService.h"
 #include "BornAgainNamespace.h"
-#include "FixedBinAxis.h"
-#include "ConstKBinAxis.h"
-#include "CustomBinAxis.h"
-#include "Beam.h"
-#include "Rectangle.h"
 
-#include <iostream>
 
 SphericalDetector::SphericalDetector()
 {
diff --git a/Core/Algorithms/SphericalDetector.h b/Core/Algorithms/SphericalDetector.h
index 6edd7394f63..f3649fd3bad 100644
--- a/Core/Algorithms/SphericalDetector.h
+++ b/Core/Algorithms/SphericalDetector.h
@@ -17,15 +17,7 @@
 #define SPHERICALDETECTOR_H
 
 #include "IDetector2D.h"
-#include "IDetectorResolution.h"
-#include "SafePointerVector.h"
-#include "EigenCore.h"
-#include "DetectorMask.h"
-#include "SimulationElement.h"
-#include "Beam.h"
-#include "IPixelMap.h"
-
-class AngularPixelMap;
+
 
 //! @class SphericalDetector
 //! @ingroup simulation
diff --git a/Core/FormFactors/FormFactorCone.cpp b/Core/FormFactors/FormFactorCone.cpp
index 0aca23496fb..5d04994a26c 100644
--- a/Core/FormFactors/FormFactorCone.cpp
+++ b/Core/FormFactors/FormFactorCone.cpp
@@ -15,7 +15,6 @@
 
 #include "FormFactorCone.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
 #include "MathFunctions.h"
 #include "IntegratorComplex.h"
 
diff --git a/Core/FormFactors/FormFactorCone.h b/Core/FormFactors/FormFactorCone.h
index d9d2a55c78a..43185000f3e 100644
--- a/Core/FormFactors/FormFactorCone.h
+++ b/Core/FormFactors/FormFactorCone.h
@@ -18,7 +18,6 @@
 
 #include "FormFactorPolyhedron.h"
 
-#include <memory>
 
 // Forward declaration to prevent IntegratorComplex.h to be parsed for Python API:
 template <class T> class IntegratorComplex;
diff --git a/Core/FormFactors/FormFactorCrystal.cpp b/Core/FormFactors/FormFactorCrystal.cpp
index 10fcb128873..353b97cd71c 100644
--- a/Core/FormFactors/FormFactorCrystal.cpp
+++ b/Core/FormFactors/FormFactorCrystal.cpp
@@ -14,8 +14,6 @@
 // ************************************************************************** //
 
 #include "FormFactorCrystal.h"
-#include "BornAgainNamespace.h"
-#include "FormFactorDecoratorPositionFactor.h"
 
 FormFactorCrystal::FormFactorCrystal(const Lattice &lattice, const IFormFactor &basis_form_factor,
                                      const IFormFactor &meso_form_factor)
diff --git a/Core/FormFactors/FormFactorCuboctahedron.cpp b/Core/FormFactors/FormFactorCuboctahedron.cpp
index e82e149c2e2..5b5a20aeefc 100644
--- a/Core/FormFactors/FormFactorCuboctahedron.cpp
+++ b/Core/FormFactors/FormFactorCuboctahedron.cpp
@@ -15,7 +15,6 @@
 
 #include "FormFactorCuboctahedron.h"
 #include "BornAgainNamespace.h"
-#include "FormFactorPyramid.h"
 #include "MathFunctions.h"
 
 const PolyhedralTopology FormFactorCuboctahedron::topology = {
diff --git a/Core/FormFactors/FormFactorCylinder.cpp b/Core/FormFactors/FormFactorCylinder.cpp
index 936ecc6c3ee..c9f0bac319b 100644
--- a/Core/FormFactors/FormFactorCylinder.cpp
+++ b/Core/FormFactors/FormFactorCylinder.cpp
@@ -16,7 +16,6 @@
 #include "FormFactorCylinder.h"
 #include "BornAgainNamespace.h"
 #include "MathFunctions.h"
-#include "Numeric.h"
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorDWBA.cpp b/Core/FormFactors/FormFactorDWBA.cpp
index 7a829b95a87..d441a2167dc 100644
--- a/Core/FormFactors/FormFactorDWBA.cpp
+++ b/Core/FormFactors/FormFactorDWBA.cpp
@@ -16,7 +16,6 @@
 #include "FormFactorDWBA.h"
 #include "BornAgainNamespace.h"
 
-#include <cmath>
 
 FormFactorDWBA::FormFactorDWBA(const IFormFactor& form_factor)
     : IFormFactorDecorator(form_factor)
diff --git a/Core/FormFactors/FormFactorDWBAPol.cpp b/Core/FormFactors/FormFactorDWBAPol.cpp
index b71a63280ee..83051a04560 100644
--- a/Core/FormFactors/FormFactorDWBAPol.cpp
+++ b/Core/FormFactors/FormFactorDWBAPol.cpp
@@ -15,7 +15,6 @@
 
 #include "FormFactorDWBAPol.h"
 #include "BornAgainNamespace.h"
-#include "Exceptions.h"
 
 FormFactorDWBAPol::FormFactorDWBAPol(const IFormFactor &form_factor)
 : mp_form_factor(form_factor.clone())
diff --git a/Core/FormFactors/FormFactorDecoratorMaterial.cpp b/Core/FormFactors/FormFactorDecoratorMaterial.cpp
index 37840fbc89a..386ac2bb51b 100644
--- a/Core/FormFactors/FormFactorDecoratorMaterial.cpp
+++ b/Core/FormFactors/FormFactorDecoratorMaterial.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "FormFactorDecoratorMaterial.h"
-#include "BornAgainNamespace.h"
 
 FormFactorDecoratorMaterial::FormFactorDecoratorMaterial(const IFormFactor &form_factor)
     : FormFactorDecoratorFactor(form_factor, 1.0),
diff --git a/Core/FormFactors/FormFactorDecoratorPositionFactor.h b/Core/FormFactors/FormFactorDecoratorPositionFactor.h
index 510bd797543..53de0896806 100644
--- a/Core/FormFactors/FormFactorDecoratorPositionFactor.h
+++ b/Core/FormFactors/FormFactorDecoratorPositionFactor.h
@@ -18,7 +18,6 @@
 
 #include "IFormFactorDecorator.h"
 #include "BornAgainNamespace.h"
-#include "Complex.h"
 
 //! @class FormFactorDecoratorPositionFactor
 //! @ingroup formfactors_internal
diff --git a/Core/FormFactors/FormFactorDodecahedron.cpp b/Core/FormFactors/FormFactorDodecahedron.cpp
index 07ba3cd36c9..d0d4d084361 100644
--- a/Core/FormFactors/FormFactorDodecahedron.cpp
+++ b/Core/FormFactors/FormFactorDodecahedron.cpp
@@ -15,8 +15,6 @@
 
 #include "FormFactorDodecahedron.h"
 #include "BornAgainNamespace.h"
-#include "FormFactorBox.h"
-#include "MathFunctions.h"
 
 const PolyhedralTopology FormFactorDodecahedron::topology = {
     {
diff --git a/Core/FormFactors/FormFactorFullSphere.cpp b/Core/FormFactors/FormFactorFullSphere.cpp
index 6b22398af4d..008ae75aa67 100644
--- a/Core/FormFactors/FormFactorFullSphere.cpp
+++ b/Core/FormFactors/FormFactorFullSphere.cpp
@@ -15,10 +15,8 @@
 
 #include "FormFactorFullSphere.h"
 #include "BornAgainNamespace.h"
-#include "MathFunctions.h"
 
 #ifdef POLYHEDRAL_DIAGNOSTIC
-extern Diagnosis diagnosis;
 #endif
 
 using namespace  BornAgain;
diff --git a/Core/FormFactors/FormFactorFullSpheroid.cpp b/Core/FormFactors/FormFactorFullSpheroid.cpp
index 3b888763ac7..4e7b5552aa4 100644
--- a/Core/FormFactors/FormFactorFullSpheroid.cpp
+++ b/Core/FormFactors/FormFactorFullSpheroid.cpp
@@ -16,7 +16,6 @@
 #include "FormFactorFullSpheroid.h"
 #include "BornAgainNamespace.h"
 #include "MathFunctions.h"
-#include "Numeric.h"
 #include "IntegratorComplex.h"
 
 using namespace  BornAgain;
diff --git a/Core/FormFactors/FormFactorGauss.cpp b/Core/FormFactors/FormFactorGauss.cpp
index a14642e7bcf..c0585592e28 100644
--- a/Core/FormFactors/FormFactorGauss.cpp
+++ b/Core/FormFactors/FormFactorGauss.cpp
@@ -15,8 +15,6 @@
 
 #include "FormFactorGauss.h"
 #include "BornAgainNamespace.h"
-#include "MathFunctions.h"
-#include "Numeric.h"
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorHemiEllipsoid.cpp b/Core/FormFactors/FormFactorHemiEllipsoid.cpp
index bc8d3d0174e..47e707aa4e2 100644
--- a/Core/FormFactors/FormFactorHemiEllipsoid.cpp
+++ b/Core/FormFactors/FormFactorHemiEllipsoid.cpp
@@ -16,10 +16,8 @@
 #include "FormFactorHemiEllipsoid.h"
 #include "BornAgainNamespace.h"
 #include "MathFunctions.h"
-#include "Numeric.h"
 #include "IntegratorComplex.h"
 
-#include <cmath>
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorIcosahedron.cpp b/Core/FormFactors/FormFactorIcosahedron.cpp
index edfdaa498d1..467858544dd 100644
--- a/Core/FormFactors/FormFactorIcosahedron.cpp
+++ b/Core/FormFactors/FormFactorIcosahedron.cpp
@@ -15,8 +15,6 @@
 
 #include "FormFactorIcosahedron.h"
 #include "BornAgainNamespace.h"
-#include "FormFactorBox.h"
-#include "MathFunctions.h"
 
 const PolyhedralTopology FormFactorIcosahedron::topology = {
     {
diff --git a/Core/FormFactors/FormFactorLongRipple1Gauss.cpp b/Core/FormFactors/FormFactorLongRipple1Gauss.cpp
index 0834bc2cf98..a2f6b915fc8 100644
--- a/Core/FormFactors/FormFactorLongRipple1Gauss.cpp
+++ b/Core/FormFactors/FormFactorLongRipple1Gauss.cpp
@@ -15,11 +15,9 @@
 
 #include "FormFactorLongRipple1Gauss.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
 #include "MathFunctions.h"
 #include "IntegratorComplex.h"
 
-#include <cmath>
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorLongRipple1Lorentz.cpp b/Core/FormFactors/FormFactorLongRipple1Lorentz.cpp
index 0dd80cff8af..7d4a34c76c2 100644
--- a/Core/FormFactors/FormFactorLongRipple1Lorentz.cpp
+++ b/Core/FormFactors/FormFactorLongRipple1Lorentz.cpp
@@ -15,11 +15,9 @@
 
 #include "FormFactorLongRipple1Lorentz.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
 #include "MathFunctions.h"
 #include "IntegratorComplex.h"
 
-#include <cmath>
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorLongRipple2Gauss.cpp b/Core/FormFactors/FormFactorLongRipple2Gauss.cpp
index 449825c302c..dfd4cf10f2d 100644
--- a/Core/FormFactors/FormFactorLongRipple2Gauss.cpp
+++ b/Core/FormFactors/FormFactorLongRipple2Gauss.cpp
@@ -15,10 +15,7 @@
 
 #include "FormFactorLongRipple2Gauss.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
-#include "MathFunctions.h"
 
-#include <cmath>
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorLongRipple2Lorentz.cpp b/Core/FormFactors/FormFactorLongRipple2Lorentz.cpp
index 4f0cfe6177a..a315032adf1 100644
--- a/Core/FormFactors/FormFactorLongRipple2Lorentz.cpp
+++ b/Core/FormFactors/FormFactorLongRipple2Lorentz.cpp
@@ -15,10 +15,7 @@
 
 #include "FormFactorLongRipple2Lorentz.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
-#include "MathFunctions.h"
 
-#include <cmath>
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorLorentz.cpp b/Core/FormFactors/FormFactorLorentz.cpp
index 66b29e15a34..1ecd0feca91 100644
--- a/Core/FormFactors/FormFactorLorentz.cpp
+++ b/Core/FormFactors/FormFactorLorentz.cpp
@@ -15,8 +15,6 @@
 
 #include "FormFactorLorentz.h"
 #include "BornAgainNamespace.h"
-#include "MathFunctions.h"
-#include "Numeric.h"
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorPolyhedron.cpp b/Core/FormFactors/FormFactorPolyhedron.cpp
index 43f109649e9..29450a9c815 100644
--- a/Core/FormFactors/FormFactorPolyhedron.cpp
+++ b/Core/FormFactors/FormFactorPolyhedron.cpp
@@ -17,27 +17,18 @@
 //! by Joachim Wuttke, entitled
 //! "Form factor (Fourier shape transform) of polygon and polyhedron."
 
-#include <cmath>
-#include <iostream>
-#include <sstream>
 #include <iomanip>
-#include <algorithm>
-#include <complex>
-#include <vector>
 
 #include "Precomputed.h"
-#include "BasicVector3D.h"
 #include "MathFunctions.h"
 #include "BornAgainNamespace.h"
 
-#include "IFormFactorBorn.h"
 #include "FormFactorPolyhedron.h"
 
 static const complex_t I(0.,1.);
 static const double eps(2e-16);
 
 #ifdef POLYHEDRAL_DIAGNOSTIC
-extern Diagnosis diagnosis;
 #endif
 
 double PolyhedralFace::qpa_limit_series = 3e-2;
diff --git a/Core/FormFactors/FormFactorPolyhedron.h b/Core/FormFactors/FormFactorPolyhedron.h
index d9ccd5e5431..6c7d3ba408a 100644
--- a/Core/FormFactors/FormFactorPolyhedron.h
+++ b/Core/FormFactors/FormFactorPolyhedron.h
@@ -16,9 +16,7 @@
 #ifndef FORMFACTORPOLYHEDRON_H
 #define FORMFACTORPOLYHEDRON_H
 
-#include<complex>
 #include<memory>
-#include "Vectors3D.h"
 
 #include "IFormFactorBorn.h"
 
diff --git a/Core/FormFactors/FormFactorPrism3.cpp b/Core/FormFactors/FormFactorPrism3.cpp
index e0bf8b68beb..8ba45e73316 100644
--- a/Core/FormFactors/FormFactorPrism3.cpp
+++ b/Core/FormFactors/FormFactorPrism3.cpp
@@ -15,7 +15,6 @@
 
 #include "FormFactorPrism3.h"
 #include "BornAgainNamespace.h"
-#include "MathFunctions.h"
 
 //! @brief Prism3 constructor
 //! @param base_edge of hexagonal base
diff --git a/Core/FormFactors/FormFactorPrism6.cpp b/Core/FormFactors/FormFactorPrism6.cpp
index d4b0d4a3ff8..1ec3c1aa5df 100644
--- a/Core/FormFactors/FormFactorPrism6.cpp
+++ b/Core/FormFactors/FormFactorPrism6.cpp
@@ -15,7 +15,6 @@
 
 #include "FormFactorPrism6.h"
 #include "BornAgainNamespace.h"
-#include "MathFunctions.h"
 
 //! @brief Prism6 constructor
 //! @param base_edge of hexagonal base
diff --git a/Core/FormFactors/FormFactorRipple1.cpp b/Core/FormFactors/FormFactorRipple1.cpp
index d15a905574b..06e6a36867b 100644
--- a/Core/FormFactors/FormFactorRipple1.cpp
+++ b/Core/FormFactors/FormFactorRipple1.cpp
@@ -15,11 +15,9 @@
 
 #include "FormFactorRipple1.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
 #include "MathFunctions.h"
 #include "IntegratorComplex.h"
 
-#include <cmath>
 
 static complex_t I(0.,1.);
 
diff --git a/Core/FormFactors/FormFactorRipple2.cpp b/Core/FormFactors/FormFactorRipple2.cpp
index 82e67c55df6..76678c7ea8c 100644
--- a/Core/FormFactors/FormFactorRipple2.cpp
+++ b/Core/FormFactors/FormFactorRipple2.cpp
@@ -15,10 +15,8 @@
 
 #include "FormFactorRipple2.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
 #include "MathFunctions.h"
 
-#include <cmath>
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorSphereGaussianRadius.h b/Core/FormFactors/FormFactorSphereGaussianRadius.h
index 145eb042bc2..a186002df73 100644
--- a/Core/FormFactors/FormFactorSphereGaussianRadius.h
+++ b/Core/FormFactors/FormFactorSphereGaussianRadius.h
@@ -15,11 +15,8 @@
 
 #ifndef FORMFACTORSPHEREGAUSSIANRADIUS_H
 #define FORMFACTORSPHEREGAUSSIANRADIUS_H
-#include "MathFunctions.h"
 
-#include "IFormFactor.h"
 #include "FormFactorFullSphere.h"
-#include <cassert>
 
 //! @class FormFactorSphereGaussianRadius
 //! @ingroup formfactors
diff --git a/Core/FormFactors/FormFactorSphereLogNormalRadius.h b/Core/FormFactors/FormFactorSphereLogNormalRadius.h
index af87b781cd3..c28ffad3c6d 100644
--- a/Core/FormFactors/FormFactorSphereLogNormalRadius.h
+++ b/Core/FormFactors/FormFactorSphereLogNormalRadius.h
@@ -15,12 +15,9 @@
 
 #ifndef FORMFACTORSPHERELOGNORMALRADIUS_H
 #define FORMFACTORSPHERELOGNORMALRADIUS_H
-#include "MathFunctions.h"
 #include "SafePointerVector.h"
 
-#include "IFormFactor.h"
 #include "FormFactorFullSphere.h"
-#include <cassert>
 
 class DistributionLogNormal;
 
diff --git a/Core/FormFactors/FormFactorSphereUniformRadius.h b/Core/FormFactors/FormFactorSphereUniformRadius.h
index 67a4a10dd8e..551cb1e48a4 100644
--- a/Core/FormFactors/FormFactorSphereUniformRadius.h
+++ b/Core/FormFactors/FormFactorSphereUniformRadius.h
@@ -16,11 +16,8 @@
 #ifndef FORMFACTORSPHEREUNIFORMRADIUS_H
 #define FORMFACTORSPHEREUNIFORMRADIUS_H
 
-#include "MathFunctions.h"
 
-#include "IFormFactor.h"
 #include "FormFactorFullSphere.h"
-#include <cassert>
 
 //! @class FormFactorSphereUniformRadius
 //! @ingroup formfactors
diff --git a/Core/FormFactors/FormFactorTetrahedron.cpp b/Core/FormFactors/FormFactorTetrahedron.cpp
index 9b248828216..44480173cdb 100644
--- a/Core/FormFactors/FormFactorTetrahedron.cpp
+++ b/Core/FormFactors/FormFactorTetrahedron.cpp
@@ -16,7 +16,6 @@
 #include "FormFactorTetrahedron.h"
 #include "MathFunctions.h"
 #include "BornAgainNamespace.h"
-#include "IntegratorComplex.h"
 
 const PolyhedralTopology FormFactorTetrahedron::topology = {
     {
diff --git a/Core/FormFactors/FormFactorTools.h b/Core/FormFactors/FormFactorTools.h
index f5b1f9f7dc6..d1b9d2f5f63 100644
--- a/Core/FormFactors/FormFactorTools.h
+++ b/Core/FormFactors/FormFactorTools.h
@@ -18,7 +18,6 @@
 
 #include "IFormFactor.h"
 
-class LayerSpecularInfo;
 
 namespace FormFactorTools {
 
diff --git a/Core/FormFactors/FormFactorTriangle.cpp b/Core/FormFactors/FormFactorTriangle.cpp
index a772994eda7..b8460b7fe1a 100644
--- a/Core/FormFactors/FormFactorTriangle.cpp
+++ b/Core/FormFactors/FormFactorTriangle.cpp
@@ -15,7 +15,6 @@
 
 #include "FormFactorTriangle.h"
 #include "BornAgainNamespace.h"
-#include "MathFunctions.h"
 
 FormFactorTriangle::FormFactorTriangle(const double base_edge)
     : m_base_edge( base_edge )
diff --git a/Core/FormFactors/FormFactorTruncatedCube.cpp b/Core/FormFactors/FormFactorTruncatedCube.cpp
index 4d8151bc16a..af8ff909d45 100644
--- a/Core/FormFactors/FormFactorTruncatedCube.cpp
+++ b/Core/FormFactors/FormFactorTruncatedCube.cpp
@@ -15,8 +15,6 @@
 
 #include "FormFactorTruncatedCube.h"
 #include "BornAgainNamespace.h"
-#include "FormFactorBox.h"
-#include "MathFunctions.h"
 
 const PolyhedralTopology FormFactorTruncatedCube::topology = {
     {
diff --git a/Core/FormFactors/FormFactorTruncatedSphere.cpp b/Core/FormFactors/FormFactorTruncatedSphere.cpp
index 687e44c7d81..42b51e96cfe 100644
--- a/Core/FormFactors/FormFactorTruncatedSphere.cpp
+++ b/Core/FormFactors/FormFactorTruncatedSphere.cpp
@@ -15,11 +15,9 @@
 
 #include "FormFactorTruncatedSphere.h"
 #include "BornAgainNamespace.h"
-#include "Numeric.h"
 #include "MathFunctions.h"
 #include "IntegratorComplex.h"
 
-#include <cmath>
 
 using namespace  BornAgain;
 
diff --git a/Core/FormFactors/FormFactorTruncatedSpheroid.cpp b/Core/FormFactors/FormFactorTruncatedSpheroid.cpp
index be109762bad..718723a7030 100644
--- a/Core/FormFactors/FormFactorTruncatedSpheroid.cpp
+++ b/Core/FormFactors/FormFactorTruncatedSpheroid.cpp
@@ -16,7 +16,6 @@
 #include "FormFactorTruncatedSpheroid.h"
 #include "BornAgainNamespace.h"
 #include "MathFunctions.h"
-#include "Numeric.h"
 #include "IntegratorComplex.h"
 
 using namespace  BornAgain;
diff --git a/Core/FormFactors/FormFactors.h b/Core/FormFactors/FormFactors.h
index 57c499650d4..331a3895eff 100644
--- a/Core/FormFactors/FormFactors.h
+++ b/Core/FormFactors/FormFactors.h
@@ -18,13 +18,6 @@
 
 #include "FormFactorCrystal.h"
 #include "FormFactorDecoratorDebyeWaller.h"
-#include "FormFactorDecoratorFactor.h"
-#include "FormFactorDecoratorMultiPositionFactor.h"
-#include "FormFactorDecoratorPositionFactor.h"
-#include "FormFactorDecoratorMaterial.h"
-#include "FormFactorDecoratorRotation.h"
-#include "FormFactorDWBA.h"
-#include "FormFactorDWBAPol.h"
 #include "FormFactorWeighted.h"
 #include "ParticleShapes.h"
 
diff --git a/Core/FormFactors/IFormFactor.h b/Core/FormFactors/IFormFactor.h
index bbe6cd2363c..fc7b16caca1 100644
--- a/Core/FormFactors/IFormFactor.h
+++ b/Core/FormFactors/IFormFactor.h
@@ -17,9 +17,7 @@
 #define IFORMFACTOR_H
 
 #include "Complex.h"
-#include "Units.h"
 #include "ISample.h"
-#include "Bin.h"
 #include "EigenCore.h"
 #include "WavevectorInfo.h"
 
diff --git a/Core/FormFactors/IFormFactorBorn.cpp b/Core/FormFactors/IFormFactorBorn.cpp
index 5ec1f510589..0c1effa985f 100644
--- a/Core/FormFactors/IFormFactorBorn.cpp
+++ b/Core/FormFactors/IFormFactorBorn.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "IFormFactorBorn.h"
-#include "MathFunctions.h"
 
 
 complex_t IFormFactorBorn::evaluate(const WavevectorInfo& wavevectors) const
diff --git a/Core/FormFactors/ParticleShapes.h b/Core/FormFactors/ParticleShapes.h
index 44d82834422..e4484496fe4 100644
--- a/Core/FormFactors/ParticleShapes.h
+++ b/Core/FormFactors/ParticleShapes.h
@@ -24,7 +24,6 @@
 #include "FormFactorCylinder.h"
 #include "FormFactorDodecahedron.h"
 #include "FormFactorEllipsoidalCylinder.h"
-#include "FormFactorFullSphere.h"
 #include "FormFactorFullSpheroid.h"
 #include "FormFactorGauss.h"
 #include "FormFactorHemiEllipsoid.h"
diff --git a/Core/Geometry/BasicVector3D.cpp b/Core/Geometry/BasicVector3D.cpp
index e7df777847f..4089053b20e 100644
--- a/Core/Geometry/BasicVector3D.cpp
+++ b/Core/Geometry/BasicVector3D.cpp
@@ -13,7 +13,6 @@
 //
 // ************************************************************************** //
 
-#include <iostream>
 #include "BasicVector3D.h"
 
 typedef std::complex<double> complex_t;
diff --git a/Core/Geometry/BasicVector3D.h b/Core/Geometry/BasicVector3D.h
index 4fb62c25c01..c8caa55a17f 100644
--- a/Core/Geometry/BasicVector3D.h
+++ b/Core/Geometry/BasicVector3D.h
@@ -21,7 +21,6 @@
 #define BASICVECTOR3D_H
 
 static const double PI2 = 6.28318530717958647692528676655900577;
-#include "WinDllMacros.h"
 #include "Exceptions.h"
 #include <complex>
 
diff --git a/Core/Geometry/InfinitePlane.cpp b/Core/Geometry/InfinitePlane.cpp
index 04f2c767b54..61c61b57ef0 100644
--- a/Core/Geometry/InfinitePlane.cpp
+++ b/Core/Geometry/InfinitePlane.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "InfinitePlane.h"
-#include "Bin.h"
 
 namespace Geometry {
 
diff --git a/Core/Geometry/Line.cpp b/Core/Geometry/Line.cpp
index 7a1913884aa..3733de34370 100644
--- a/Core/Geometry/Line.cpp
+++ b/Core/Geometry/Line.cpp
@@ -15,15 +15,11 @@
 
 #include "Line.h"
 #include "Bin.h"
-#include "Numeric.h"
 #include "Macros.h"
 GCC_DIAG_OFF(unused-parameter)
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/geometries/linestring.hpp>
 GCC_DIAG_ON(unused-parameter)
-#include <iostream>
 
 using namespace boost::geometry;
 typedef model::d2::point_xy<double> point_t;
diff --git a/Core/Geometry/Polygon.cpp b/Core/Geometry/Polygon.cpp
index cbc35ea5c5b..61505d80867 100644
--- a/Core/Geometry/Polygon.cpp
+++ b/Core/Geometry/Polygon.cpp
@@ -19,9 +19,7 @@
 GCC_DIAG_OFF(unused-parameter)
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/geometries/polygon.hpp>
 GCC_DIAG_ON(unused-parameter)
-#include <iostream>
 
 using namespace boost::geometry;
 
diff --git a/Core/InputOutput/IntensityDataIOFactory.cpp b/Core/InputOutput/IntensityDataIOFactory.cpp
index fa284f010c2..a3f957e34fa 100644
--- a/Core/InputOutput/IntensityDataIOFactory.cpp
+++ b/Core/InputOutput/IntensityDataIOFactory.cpp
@@ -16,8 +16,6 @@
 #include "IntensityDataIOFactory.h"
 #include "OutputDataReadFactory.h"
 #include "OutputDataWriteFactory.h"
-#include "Exceptions.h"
-#include "Utils.h"
 #include "IHistogram.h"
 
 
diff --git a/Core/InputOutput/IntensityDataIOFactory.h b/Core/InputOutput/IntensityDataIOFactory.h
index aa5a9cf849c..f4efdadb518 100644
--- a/Core/InputOutput/IntensityDataIOFactory.h
+++ b/Core/InputOutput/IntensityDataIOFactory.h
@@ -16,9 +16,6 @@
 #ifndef INTENSITYDATAIOFACTORY_H
 #define INTENSITYDATAIOFACTORY_H
 
-#include "WinDllMacros.h"
-#include "OutputDataReader.h"
-#include "OutputDataWriter.h"
 
 #include <string>
 
diff --git a/Core/InputOutput/OutputDataIOHelper.cpp b/Core/InputOutput/OutputDataIOHelper.cpp
index 8266d2e7e14..8fe176ee79c 100644
--- a/Core/InputOutput/OutputDataIOHelper.cpp
+++ b/Core/InputOutput/OutputDataIOHelper.cpp
@@ -13,15 +13,9 @@
 //
 // ************************************************************************** //
 
-#include <iostream>
-#include <algorithm>
-#include <boost/algorithm/string.hpp>
 
-#include "FixedBinAxis.h"
-#include "VariableBinAxis.h"
 #include "ConstKBinAxis.h"
 #include "CustomBinAxis.h"
-#include "Exceptions.h"
 #include "Utils.h"
 #include "OutputData.h"
 #include "FileSystem.h"
diff --git a/Core/InputOutput/OutputDataIOHelper.h b/Core/InputOutput/OutputDataIOHelper.h
index 82026f34918..e44cd64364c 100644
--- a/Core/InputOutput/OutputDataIOHelper.h
+++ b/Core/InputOutput/OutputDataIOHelper.h
@@ -17,9 +17,6 @@
 #define OUTPUTDATAIOHELPER_H
 
 
-#include "WinDllMacros.h"
-#include <string>
-#include <iostream>
 #include <vector>
 
 class IAxis;
diff --git a/Core/InputOutput/OutputDataReadFactory.cpp b/Core/InputOutput/OutputDataReadFactory.cpp
index 3e5876d772c..6a9c4d3a9e3 100644
--- a/Core/InputOutput/OutputDataReadFactory.cpp
+++ b/Core/InputOutput/OutputDataReadFactory.cpp
@@ -14,11 +14,8 @@
 // ************************************************************************** //
 
 #include "OutputDataReadFactory.h"
-#include "OutputDataReader.h"
-#include "OutputDataReadStrategy.h"
 #include "OutputDataIOHelper.h"
 #include "Exceptions.h"
-#include "FileSystem.h"
 
 
 OutputDataReader* OutputDataReadFactory::getReader(const std::string &file_name)
diff --git a/Core/InputOutput/OutputDataReadFactory.h b/Core/InputOutput/OutputDataReadFactory.h
index 303724d0e6d..75de8ab52c7 100644
--- a/Core/InputOutput/OutputDataReadFactory.h
+++ b/Core/InputOutput/OutputDataReadFactory.h
@@ -16,11 +16,8 @@
 #ifndef OUTPUTDATAREADFACTORY_H
 #define OUTPUTDATAREADFACTORY_H
 
-#include <string>
-#include "WinDllMacros.h"
 #include "OutputDataReader.h"
 
-class IOutputDataReadStrategy;
 
 //! @class OutputDataReadFactory
 //! @ingroup input_output_internal
diff --git a/Core/InputOutput/OutputDataReadStrategy.cpp b/Core/InputOutput/OutputDataReadStrategy.cpp
index 177883aa9ad..a240f588af0 100644
--- a/Core/InputOutput/OutputDataReadStrategy.cpp
+++ b/Core/InputOutput/OutputDataReadStrategy.cpp
@@ -13,11 +13,7 @@
 //
 // ************************************************************************** //
 
-#include <fstream>
-#include <stdexcept>
 
-#include "Complex.h"
-#include "BornAgainNamespace.h"
 #include "OutputData.h"
 #include "OutputDataIOHelper.h"
 #include "TiffHandler.h"
diff --git a/Core/InputOutput/OutputDataReadStrategy.h b/Core/InputOutput/OutputDataReadStrategy.h
index 2bb8ae89070..145059a1022 100644
--- a/Core/InputOutput/OutputDataReadStrategy.h
+++ b/Core/InputOutput/OutputDataReadStrategy.h
@@ -17,7 +17,6 @@
 #define OUTPUTDATAREADSTRATEGY_H
 
 #include <string>
-#include "WinDllMacros.h"
 
 template <class T> class OutputData;
 
diff --git a/Core/InputOutput/OutputDataReader.cpp b/Core/InputOutput/OutputDataReader.cpp
index f23fb48e8a0..5f31b7e8873 100644
--- a/Core/InputOutput/OutputDataReader.cpp
+++ b/Core/InputOutput/OutputDataReader.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 #include "OutputData.h"
 #include "OutputDataReader.h"
-#include "OutputDataReadStrategy.h"
 #include "OutputDataIOHelper.h"
 #include "boost_streams.h"
 
diff --git a/Core/InputOutput/OutputDataReader.h b/Core/InputOutput/OutputDataReader.h
index 72183f00e11..ed7c69471c6 100644
--- a/Core/InputOutput/OutputDataReader.h
+++ b/Core/InputOutput/OutputDataReader.h
@@ -16,10 +16,7 @@
 #ifndef OUTPUTDATAREADER_H
 #define OUTPUTDATAREADER_H
 
-#include "WinDllMacros.h"
 #include "OutputDataReadStrategy.h"
-#include <string>
-#include <vector>
 #include <memory>
 
 template <class T> class OutputData;
diff --git a/Core/InputOutput/OutputDataWriteFactory.cpp b/Core/InputOutput/OutputDataWriteFactory.cpp
index 2593d570bd7..8670446c817 100644
--- a/Core/InputOutput/OutputDataWriteFactory.cpp
+++ b/Core/InputOutput/OutputDataWriteFactory.cpp
@@ -13,9 +13,7 @@
 //
 // ************************************************************************** //
 #include "OutputDataWriteFactory.h"
-#include "OutputDataWriter.h"
 #include "Exceptions.h"
-#include "OutputDataWriteStrategy.h"
 #include "OutputDataIOHelper.h"
 
 OutputDataWriter *OutputDataWriteFactory::getWriter(const std::string &file_name)
diff --git a/Core/InputOutput/OutputDataWriteFactory.h b/Core/InputOutput/OutputDataWriteFactory.h
index af11a6b0651..cdf1503ecc5 100644
--- a/Core/InputOutput/OutputDataWriteFactory.h
+++ b/Core/InputOutput/OutputDataWriteFactory.h
@@ -16,11 +16,8 @@
 #ifndef OUTPUTDATAWRITEFACTORY_H
 #define OUTPUTDATAWRITEFACTORY_H
 
-#include <string>
-#include "WinDllMacros.h"
 #include "OutputDataWriter.h"
 
-class IOutputDataWriteStrategy;
 
 //! @class OutputDataWriteFactory
 //! @ingroup input_output_internal
diff --git a/Core/InputOutput/OutputDataWriteStrategy.cpp b/Core/InputOutput/OutputDataWriteStrategy.cpp
index e2a1f900937..a338f455f21 100644
--- a/Core/InputOutput/OutputDataWriteStrategy.cpp
+++ b/Core/InputOutput/OutputDataWriteStrategy.cpp
@@ -14,10 +14,8 @@
 // ************************************************************************** //
 
 #include "OutputDataWriteStrategy.h"
-#include "OutputData.h"
 #include "TiffHandler.h"
 #include "BornAgainNamespace.h"
-#include <iostream>
 #include <iomanip>
 
 static const int precision { 12 };
diff --git a/Core/InputOutput/OutputDataWriteStrategy.h b/Core/InputOutput/OutputDataWriteStrategy.h
index b6260c723c2..d09125c27a7 100644
--- a/Core/InputOutput/OutputDataWriteStrategy.h
+++ b/Core/InputOutput/OutputDataWriteStrategy.h
@@ -16,7 +16,6 @@
 #ifndef OUTPUTDATAWRITESTRATEGY_H
 #define OUTPUTDATAWRITESTRATEGY_H
 
-#include "WinDllMacros.h"
 #include <string>
 
 template <class T> class OutputData;
diff --git a/Core/InputOutput/OutputDataWriter.cpp b/Core/InputOutput/OutputDataWriter.cpp
index 0a78fde1d00..65635d33aef 100644
--- a/Core/InputOutput/OutputDataWriter.cpp
+++ b/Core/InputOutput/OutputDataWriter.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "OutputDataWriter.h"
-#include "OutputDataWriteStrategy.h"
 #include "OutputDataIOHelper.h"
 #include "OutputData.h"
 #include "boost_streams.h"
diff --git a/Core/InputOutput/OutputDataWriter.h b/Core/InputOutput/OutputDataWriter.h
index 48096f40de6..cfa33e581e4 100644
--- a/Core/InputOutput/OutputDataWriter.h
+++ b/Core/InputOutput/OutputDataWriter.h
@@ -16,9 +16,7 @@
 #ifndef OUTPUTDATAWRITER_H
 #define OUTPUTDATAWRITER_H
 
-#include "WinDllMacros.h"
 #include "OutputDataWriteStrategy.h"
-#include <string>
 #include <memory>
 
 template <class T> class OutputData;
diff --git a/Core/InputOutput/TiffHandler.cpp b/Core/InputOutput/TiffHandler.cpp
index 3cc889abc9f..6617a191fd5 100644
--- a/Core/InputOutput/TiffHandler.cpp
+++ b/Core/InputOutput/TiffHandler.cpp
@@ -14,14 +14,8 @@
 // ************************************************************************** //
 #ifdef BORNAGAIN_TIFF_SUPPORT
 #include "TiffHandler.h"
-#include "Exceptions.h"
 #include "Utils.h"
 #include "BornAgainNamespace.h"
-#include <fstream>
-#include <cassert>
-#include <iostream>
-#include <sstream>
-#include <tiffio.h>
 #include <tiffio.hxx>
 
 namespace {
diff --git a/Core/InputOutput/TiffHandler.h b/Core/InputOutput/TiffHandler.h
index c1a2010abf8..d9b46c9a0c1 100644
--- a/Core/InputOutput/TiffHandler.h
+++ b/Core/InputOutput/TiffHandler.h
@@ -18,11 +18,8 @@
 
 #ifdef BORNAGAIN_TIFF_SUPPORT
 
-#include "WinDllMacros.h"
 #include "OutputData.h"
-#include <string>
 #include <tiffio.h>
-#include <tiffio.hxx>
 #include <memory>
 
 //! @class TiffHandler
diff --git a/Core/InputOutput/boost_streams.h b/Core/InputOutput/boost_streams.h
index 262598f90cf..5251e4a1519 100644
--- a/Core/InputOutput/boost_streams.h
+++ b/Core/InputOutput/boost_streams.h
@@ -18,9 +18,7 @@
 
 #include "Macros.h"
 GCC_DIAG_OFF(unused-parameter)
-#include <boost/iostreams/filtering_streambuf.hpp>
 #include <boost/iostreams/filtering_stream.hpp>
-#include <boost/iostreams/stream.hpp>
 #include <boost/iostreams/copy.hpp>
 #ifdef _MSC_VER
 #pragma warning(push)
diff --git a/Core/Samples/BAVersion.h b/Core/Samples/BAVersion.h
index eda69120f96..635ed539492 100644
--- a/Core/Samples/BAVersion.h
+++ b/Core/Samples/BAVersion.h
@@ -16,7 +16,6 @@
 #ifndef BAVERSION_H
 #define BAVERSION_H
 
-#include <string>
 #include <sstream>
 
 namespace BornAgain {
diff --git a/Core/Samples/Crystal.cpp b/Core/Samples/Crystal.cpp
index 05d40d52f89..6931e7f4b18 100644
--- a/Core/Samples/Crystal.cpp
+++ b/Core/Samples/Crystal.cpp
@@ -13,12 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "Crystal.h"
-#include "BornAgainNamespace.h"
 #include "FormFactorCrystal.h"
 #include "FormFactorDecoratorDebyeWaller.h"
-#include "Units.h"
-#include "MathFunctions.h"
 
 Crystal::Crystal(const ParticleComposition& lattice_basis, const Lattice& lattice)
     : m_lattice(lattice), m_dw_factor(0.0)
diff --git a/Core/Samples/HomogeneousMagneticMaterial.h b/Core/Samples/HomogeneousMagneticMaterial.h
index c09b0c4e235..db704b43e54 100644
--- a/Core/Samples/HomogeneousMagneticMaterial.h
+++ b/Core/Samples/HomogeneousMagneticMaterial.h
@@ -17,10 +17,8 @@
 #define HOMOGENEOUSMAGNETICMATERIAL_H
 
 #include "HomogeneousMaterial.h"
-#include "EigenCore.h"
 
 #ifndef SWIG
-#include <Eigen/StdVector>
 #endif
 
 //! @class HomogeneousMagneticMaterial
diff --git a/Core/Samples/HomogeneousMaterial.h b/Core/Samples/HomogeneousMaterial.h
index 0efef658205..9cf3346902b 100644
--- a/Core/Samples/HomogeneousMaterial.h
+++ b/Core/Samples/HomogeneousMaterial.h
@@ -17,7 +17,6 @@
 #define HOMOGENEOUSMATERIAL_H
 
 #include "IMaterial.h"
-#include "Complex.h"
 
 //! @class HomogeneousMaterial
 //! @ingroup materials
diff --git a/Core/Samples/IClusteredParticles.h b/Core/Samples/IClusteredParticles.h
index 3219e3e6113..c6968ffee99 100644
--- a/Core/Samples/IClusteredParticles.h
+++ b/Core/Samples/IClusteredParticles.h
@@ -18,7 +18,6 @@
 
 #include "IFormFactor.h"
 #include "ICompositeSample.h"
-#include "Exceptions.h"
 
 //! @class IClusteredParticles
 //! @ingroup samples_internal
diff --git a/Core/Samples/ICompositeSample.cpp b/Core/Samples/ICompositeSample.cpp
index 7ecc8830173..f58aa878e39 100644
--- a/Core/Samples/ICompositeSample.cpp
+++ b/Core/Samples/ICompositeSample.cpp
@@ -13,14 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "ICompositeSample.h"
 #include "SampleTreeIterator.h"
-#include "MessageService.h"
-#include "Exceptions.h"
 #include "Utils.h"
 
-#include <algorithm>
-#include <sstream>
 
 
 //! Registers child in the container
diff --git a/Core/Samples/ICompositeSample.h b/Core/Samples/ICompositeSample.h
index 87f14feb6b4..287ea280ea5 100644
--- a/Core/Samples/ICompositeSample.h
+++ b/Core/Samples/ICompositeSample.h
@@ -17,7 +17,6 @@
 #define ICOMPOSITESAMPLE_H
 
 #include "ISample.h"
-#include <list>
 
 //! @class ICompositeSample
 //! @ingroup samples_internal
diff --git a/Core/Samples/ILayout.h b/Core/Samples/ILayout.h
index 0ee52922221..3c72d3abb4a 100644
--- a/Core/Samples/ILayout.h
+++ b/Core/Samples/ILayout.h
@@ -16,15 +16,10 @@
 #ifndef ILAYOUT_H
 #define ILAYOUT_H
 
-#include "ICompositeSample.h"
 #include "IParticle.h"
-#include "IFormFactor.h"
 #include "SafePointerVector.h"
 
-#include <utility>
 
-class IInterferenceFunctionStrategy;
-class IInterferenceFunction;
 
 //! @class ILayout
 //! @ingroup samples_internal
diff --git a/Core/Samples/IMaterial.h b/Core/Samples/IMaterial.h
index ca688380c76..f06bee190ea 100644
--- a/Core/Samples/IMaterial.h
+++ b/Core/Samples/IMaterial.h
@@ -16,12 +16,8 @@
 #ifndef IMATERIAL_H
 #define IMATERIAL_H
 
-#include "INamed.h"
 #include "Vectors3D.h"
-#include "EigenCore.h"
 #include "Rotations.h"
-#include <string>
-#include <iostream>
 
 //! @class IMaterial
 //! @ingroup materials_internal
diff --git a/Core/Samples/IParticle.cpp b/Core/Samples/IParticle.cpp
index 303d942f46d..64309dea40d 100644
--- a/Core/Samples/IParticle.cpp
+++ b/Core/Samples/IParticle.cpp
@@ -14,8 +14,6 @@
 // ************************************************************************** //
 
 #include "IParticle.h"
-#include "IFormFactor.h"
-#include "FormFactorDecoratorRotation.h"
 #include "FormFactorDecoratorPositionFactor.h"
 
 using namespace BornAgain;
diff --git a/Core/Samples/IParticle.h b/Core/Samples/IParticle.h
index 4e343869546..2b284f9bc64 100644
--- a/Core/Samples/IParticle.h
+++ b/Core/Samples/IParticle.h
@@ -18,7 +18,6 @@
 
 #include "ICompositeSample.h"
 #include "IMaterial.h"
-#include "Rotations.h"
 
 #include <memory>
 
diff --git a/Core/Samples/ISample.cpp b/Core/Samples/ISample.cpp
index 3a48ac21741..07c59cbe5c5 100644
--- a/Core/Samples/ISample.cpp
+++ b/Core/Samples/ISample.cpp
@@ -13,9 +13,7 @@
 //
 // ************************************************************************** //
 
-#include "ISample.h"
 #include "SampleMaterialVisitor.h"
-#include "ICompositeSample.h"
 #include "SamplePrintVisitor.h"
 
 ISample* ISample::cloneInvertB() const
diff --git a/Core/Samples/ISample.h b/Core/Samples/ISample.h
index a470a6725c5..ce949d38496 100644
--- a/Core/Samples/ISample.h
+++ b/Core/Samples/ISample.h
@@ -17,10 +17,8 @@
 #define ISAMPLE_H
 
 #include "IParameterized.h"
-#include "ICloneable.h"
 #include "ISampleVisitor.h"
 
-class ICompositeSample;
 class DWBASimulation;
 
 //! @class ISample
diff --git a/Core/Samples/ISampleIteratorStrategy.h b/Core/Samples/ISampleIteratorStrategy.h
index 2ec10fdaddb..e9a11e1d7c5 100644
--- a/Core/Samples/ISampleIteratorStrategy.h
+++ b/Core/Samples/ISampleIteratorStrategy.h
@@ -17,7 +17,6 @@
 #define ISAMPLEITERATORSTRATEGY_H
 
 #include "ISample.h"
-#include <list>
 
 
 class IteratorMemento;
diff --git a/Core/Samples/ISampleVisitor.cpp b/Core/Samples/ISampleVisitor.cpp
index d9b0df76bc1..573f3ffbcc3 100644
--- a/Core/Samples/ISampleVisitor.cpp
+++ b/Core/Samples/ISampleVisitor.cpp
@@ -13,9 +13,6 @@
 //
 // ************************************************************************** //
 
-#include "ISampleVisitor.h"
-#include "ISample.h"
-#include "ICompositeSample.h"
 #include "SampleTreeIterator.h"
 #include "ISampleIteratorStrategy.h"
 
diff --git a/Core/Samples/ISampleVisitor.h b/Core/Samples/ISampleVisitor.h
index c24225d7f3c..9a992f39385 100644
--- a/Core/Samples/ISampleVisitor.h
+++ b/Core/Samples/ISampleVisitor.h
@@ -16,7 +16,6 @@
 #ifndef ISAMPLEVISITOR_H
 #define ISAMPLEVISITOR_H
 
-#include "Exceptions.h"
 
 class ISample;
 // - the order according to the hierarchy as reported by IDE
diff --git a/Core/Samples/ISelectionRule.h b/Core/Samples/ISelectionRule.h
index 85dfa2799a8..893783b7383 100644
--- a/Core/Samples/ISelectionRule.h
+++ b/Core/Samples/ISelectionRule.h
@@ -16,7 +16,6 @@
 #ifndef ISELECTIONRULE_H
 #define ISELECTIONRULE_H
 
-#include "BasicVector3D.h"
 
 typedef Geometry::BasicVector3D<int> IndexVector3D;
 
diff --git a/Core/Samples/InterferenceFunction2DParaCrystal.cpp b/Core/Samples/InterferenceFunction2DParaCrystal.cpp
index 47089e97fc8..ae684f18d3c 100644
--- a/Core/Samples/InterferenceFunction2DParaCrystal.cpp
+++ b/Core/Samples/InterferenceFunction2DParaCrystal.cpp
@@ -16,10 +16,7 @@
 #include "InterferenceFunction2DParaCrystal.h"
 #include "BornAgainNamespace.h"
 #include "IntegratorReal.h"
-#include "MathFunctions.h"
-#include "Exceptions.h"
 
-#include <functional>
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/InterferenceFunction2DParaCrystal.h b/Core/Samples/InterferenceFunction2DParaCrystal.h
index 6a3fb75d318..c9f3b3ac508 100644
--- a/Core/Samples/InterferenceFunction2DParaCrystal.h
+++ b/Core/Samples/InterferenceFunction2DParaCrystal.h
@@ -21,7 +21,6 @@
 #include "FTDistributions.h"
 #include "Complex.h"
 
-#include <iostream>
 #include <memory>
 
 // Forward declaration to prevent IntegratorReal.h to be parsed for Python API:
diff --git a/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp b/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp
index 2aad866c450..fbcefa96bfa 100644
--- a/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp
+++ b/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp
@@ -15,7 +15,6 @@
 
 #include "InterferenceFunctionRadialParaCrystal.h"
 #include "BornAgainNamespace.h"
-#include "MathFunctions.h"
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/Lattice.cpp b/Core/Samples/Lattice.cpp
index 24a2317fd8f..1f4461cc3ec 100644
--- a/Core/Samples/Lattice.cpp
+++ b/Core/Samples/Lattice.cpp
@@ -15,9 +15,7 @@
 
 #include "Units.h"
 #include "Lattice.h"
-#include "Exceptions.h"
 
-#include "gsl/gsl_matrix.h"
 #include "gsl/gsl_linalg.h"
 
 Lattice::Lattice()
diff --git a/Core/Samples/Lattice.h b/Core/Samples/Lattice.h
index 3350b449eae..db8cd9e89b3 100644
--- a/Core/Samples/Lattice.h
+++ b/Core/Samples/Lattice.h
@@ -18,11 +18,9 @@
 
 #include "Vectors3D.h"
 #include "ISelectionRule.h"
-#include "TRange.h"
 #include "FastVector.h"
 #include "Rotations.h"
 
-#include <vector>
 
 //! @class Lattice
 //! @ingroup samples
diff --git a/Core/Samples/Lattice1DParameters.h b/Core/Samples/Lattice1DParameters.h
index 97419c1f76e..0073ce03208 100644
--- a/Core/Samples/Lattice1DParameters.h
+++ b/Core/Samples/Lattice1DParameters.h
@@ -16,7 +16,6 @@
 #ifndef LATTICE1DPARAMETERS_H
 #define LATTICE1DPARAMETERS_H
 
-#include "IParameterized.h"
 
 //! @class Lattice1DParameters
 //! @ingroup samples
diff --git a/Core/Samples/Lattice2DParameters.h b/Core/Samples/Lattice2DParameters.h
index f3d76aa554a..83743072e8b 100644
--- a/Core/Samples/Lattice2DParameters.h
+++ b/Core/Samples/Lattice2DParameters.h
@@ -16,7 +16,6 @@
 #ifndef LATTICE2DPARAMETERS_H
 #define LATTICE2DPARAMETERS_H
 
-#include "IParameterized.h"
 
 //! @class Lattice2DParameters
 //! @ingroup samples
diff --git a/Core/Samples/Layer.cpp b/Core/Samples/Layer.cpp
index 69f446a81a9..94c3ce12ce6 100644
--- a/Core/Samples/Layer.cpp
+++ b/Core/Samples/Layer.cpp
@@ -13,13 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "Layer.h"
-#include "BornAgainNamespace.h"
-#include "Exceptions.h"
 #include "DecoratedLayerDWBASimulation.h"
 #include "MultiLayer.h"
 
-#include <iomanip>
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/Layer.h b/Core/Samples/Layer.h
index ff4437305ce..a0723dab36f 100644
--- a/Core/Samples/Layer.h
+++ b/Core/Samples/Layer.h
@@ -17,10 +17,8 @@
 #define LAYER_H
 
 #include "Materials.h"
-#include "ICompositeSample.h"
 #include "LayerDWBASimulation.h"
 #include "ParticleLayout.h"
-#include "SafePointerVector.h"
 
 //! @class Layer
 //! @ingroup samples
diff --git a/Core/Samples/LayerInterface.cpp b/Core/Samples/LayerInterface.cpp
index a8d88a38233..c8d24524f7d 100644
--- a/Core/Samples/LayerInterface.cpp
+++ b/Core/Samples/LayerInterface.cpp
@@ -17,8 +17,6 @@
 #include "BornAgainNamespace.h"
 #include "MessageService.h"
 
-#include <iostream>
-#include <iomanip>
 
 LayerInterface::LayerInterface()
 : m_roughness(0)
diff --git a/Core/Samples/LayerInterface.h b/Core/Samples/LayerInterface.h
index 8e87acdb799..7c8f551b9c6 100644
--- a/Core/Samples/LayerInterface.h
+++ b/Core/Samples/LayerInterface.h
@@ -19,7 +19,6 @@
 #include "ICompositeSample.h"
 #include "LayerRoughness.h"
 
-class Layer;
 
 //! @class LayerInterface
 //! @ingroup samples_internal
diff --git a/Core/Samples/LayerRoughness.cpp b/Core/Samples/LayerRoughness.cpp
index 8dcad2eb1fc..1de5d17d53b 100644
--- a/Core/Samples/LayerRoughness.cpp
+++ b/Core/Samples/LayerRoughness.cpp
@@ -17,9 +17,6 @@
 #include "LayerRoughness.h"
 #include "BornAgainNamespace.h"
 
-#include <cmath>
-#include <iostream>
-#include <iomanip>
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/Materials.h b/Core/Samples/Materials.h
index 15a4b0b2b59..210784fe8e5 100644
--- a/Core/Samples/Materials.h
+++ b/Core/Samples/Materials.h
@@ -16,7 +16,6 @@
 #ifndef MATERIALS_H
 #define MATERIALS_H
 
-#include "HomogeneousMaterial.h"
 #include "HomogeneousMagneticMaterial.h"
 
 namespace Materials {
diff --git a/Core/Samples/MesoCrystal.cpp b/Core/Samples/MesoCrystal.cpp
index 98950542743..814b20ee629 100644
--- a/Core/Samples/MesoCrystal.cpp
+++ b/Core/Samples/MesoCrystal.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "MesoCrystal.h"
-#include "BornAgainNamespace.h"
 #include "FormFactorDecoratorPositionFactor.h"
 #include "FormFactorDecoratorRotation.h"
 
diff --git a/Core/Samples/MesoCrystal.h b/Core/Samples/MesoCrystal.h
index c17e94a26e7..de7d33809e3 100644
--- a/Core/Samples/MesoCrystal.h
+++ b/Core/Samples/MesoCrystal.h
@@ -17,7 +17,6 @@
 #define MESOCRYSTAL_H
 
 #include "IClusteredParticles.h"
-#include "IFormFactor.h"
 #include "IParticle.h"
 
 //! @class MesoCrystal
diff --git a/Core/Samples/MultiLayer.cpp b/Core/Samples/MultiLayer.cpp
index 32faf678213..fb85f93e7fd 100644
--- a/Core/Samples/MultiLayer.cpp
+++ b/Core/Samples/MultiLayer.cpp
@@ -14,12 +14,8 @@
 // ************************************************************************** //
 
 #include "MultiLayer.h"
-#include "BornAgainNamespace.h"
 #include "MessageService.h"
 
-#include <algorithm>
-#include <stdexcept>
-#include <iomanip>
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/MultiLayer.h b/Core/Samples/MultiLayer.h
index 315605ac287..a3ca5e312ca 100644
--- a/Core/Samples/MultiLayer.h
+++ b/Core/Samples/MultiLayer.h
@@ -18,9 +18,7 @@
 
 #include "Layer.h"
 #include "LayerInterface.h"
-#include "LayerRoughness.h"
 #include "MultiLayerDWBASimulation.h"
-#include <vector>
 
 
 //! @class MultiLayer
diff --git a/Core/Samples/Particle.cpp b/Core/Samples/Particle.cpp
index ebf25ae2e77..11f78e9f4bf 100644
--- a/Core/Samples/Particle.cpp
+++ b/Core/Samples/Particle.cpp
@@ -14,11 +14,9 @@
 // ************************************************************************** //
 
 #include "Particle.h"
-#include "BornAgainNamespace.h"
 #include "Materials.h"
 #include "FormFactorDecoratorPositionFactor.h"
 
-#include <memory>
 
 Particle::Particle()
 {
diff --git a/Core/Samples/Particle.h b/Core/Samples/Particle.h
index ac3623b05b7..a61ba5c0a91 100644
--- a/Core/Samples/Particle.h
+++ b/Core/Samples/Particle.h
@@ -19,9 +19,7 @@
 #include "IParticle.h"
 #include "FormFactorDecoratorMaterial.h"
 #include "FormFactorDecoratorRotation.h"
-#include "IMaterial.h"
 
-#include <memory>
 
 //! @class Particle
 //! @ingroup samples
diff --git a/Core/Samples/ParticleComposition.cpp b/Core/Samples/ParticleComposition.cpp
index 19fda95d1a7..ebe2b0d8545 100644
--- a/Core/Samples/ParticleComposition.cpp
+++ b/Core/Samples/ParticleComposition.cpp
@@ -13,8 +13,6 @@
 //
 // ************************************************************************** //
 
-#include "ParticleComposition.h"
-#include "BornAgainNamespace.h"
 #include "FormFactors.h"
 #include "Materials.h"
 #include "ParticleDistribution.h"
diff --git a/Core/Samples/ParticleComposition.h b/Core/Samples/ParticleComposition.h
index d9b0cf288da..7a3a95c64c9 100644
--- a/Core/Samples/ParticleComposition.h
+++ b/Core/Samples/ParticleComposition.h
@@ -17,8 +17,6 @@
 #define PARTICLECOMPOSITION_H
 
 #include "IParticle.h"
-#include "Complex.h"
-#include <vector>
 
 //! @class ParticleComposition
 //! @ingroup samples
diff --git a/Core/Samples/ParticleCoreShell.cpp b/Core/Samples/ParticleCoreShell.cpp
index 468c78fd99e..7d03225aa1e 100644
--- a/Core/Samples/ParticleCoreShell.cpp
+++ b/Core/Samples/ParticleCoreShell.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "ParticleCoreShell.h"
-#include "BornAgainNamespace.h"
 #include "FormFactors.h"
 #include "Materials.h"
 
diff --git a/Core/Samples/ParticleDistribution.h b/Core/Samples/ParticleDistribution.h
index 7e527972055..16d60e5e6f3 100644
--- a/Core/Samples/ParticleDistribution.h
+++ b/Core/Samples/ParticleDistribution.h
@@ -18,7 +18,6 @@
 
 #include "IParticle.h"
 #include "ParameterDistribution.h"
-#include "SafePointerVector.h"
 
 //! @class ParticleDistribution
 //! @ingroup samples
diff --git a/Core/Samples/ParticleLayout.cpp b/Core/Samples/ParticleLayout.cpp
index 078531ceba7..86a045876a1 100644
--- a/Core/Samples/ParticleLayout.cpp
+++ b/Core/Samples/ParticleLayout.cpp
@@ -14,12 +14,7 @@
 // ************************************************************************** //
 
 #include "ParticleLayout.h"
-#include "BornAgainNamespace.h"
-#include "InterferenceFunctionNone.h"
-#include "DecouplingApproximationStrategy.h"
-#include "InterferenceFunctionRadialParaCrystal.h"
 #include "SizeSpacingCorrelationApproximationStrategy.h"
-#include "MessageService.h"
 #include "ParticleDistribution.h"
 
 #include <iomanip>
diff --git a/Core/Samples/ParticleLayout.h b/Core/Samples/ParticleLayout.h
index 76ed145bb74..c1e53f2ba32 100644
--- a/Core/Samples/ParticleLayout.h
+++ b/Core/Samples/ParticleLayout.h
@@ -18,10 +18,7 @@
 
 #include "ILayout.h"
 #include "Particle.h"
-#include "IInterferenceFunction.h"
-#include "Rotations.h"
 
-#include <memory>
 
 //! @class ParticleLayout
 //! @ingroup samples
diff --git a/Core/Samples/SampleTreeIterator.cpp b/Core/Samples/SampleTreeIterator.cpp
index 89f812b2e5c..bd3a29ab3fb 100644
--- a/Core/Samples/SampleTreeIterator.cpp
+++ b/Core/Samples/SampleTreeIterator.cpp
@@ -14,8 +14,6 @@
 // ************************************************************************** //
 
 #include "SampleTreeIterator.h"
-#include "ISampleIteratorStrategy.h"
-#include "Exceptions.h"
 
 
 
diff --git a/Core/Samples/SampleTreeIterator.h b/Core/Samples/SampleTreeIterator.h
index 193afee387b..40a7cb1e736 100644
--- a/Core/Samples/SampleTreeIterator.h
+++ b/Core/Samples/SampleTreeIterator.h
@@ -16,14 +16,9 @@
 #ifndef SAMPLETREEITERATOR_H
 #define SAMPLETREEITERATOR_H
 
-#include "ISample.h"
 #include "ICompositeSample.h"
-#include <iostream>
 #include <stack>
-#include <list>
-#include <memory>
 
-class ISampleIteratorStrategy;
 
 //! @class IteratorState
 //! @ingroup samples_internal
diff --git a/Core/Samples/Samples.h b/Core/Samples/Samples.h
index 456bea000fe..b2c463e7cbc 100644
--- a/Core/Samples/Samples.h
+++ b/Core/Samples/Samples.h
@@ -16,12 +16,7 @@
 #ifndef SAMPLES_H
 #define SAMPLES_H
 
-#include "Crystal.h"
-#include "Layer.h"
-#include "LayerInterface.h"
 #include "MultiLayer.h"
-#include "Particle.h"
-#include "ParticleLayout.h"
 #include "FormFactors.h"
 
 #endif // SAMPLES_H
diff --git a/Core/StandardSamples/BoxCompositionBuilder.cpp b/Core/StandardSamples/BoxCompositionBuilder.cpp
index 86c2d3682d8..98d33a50e00 100644
--- a/Core/StandardSamples/BoxCompositionBuilder.cpp
+++ b/Core/StandardSamples/BoxCompositionBuilder.cpp
@@ -14,15 +14,8 @@
 // ************************************************************************** //
 
 #include "BoxCompositionBuilder.h"
-#include "FormFactorFullSphere.h"
-#include "InterferenceFunction2DLattice.h"
 #include "ParticleComposition.h"
-#include "Materials.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "FTDistributions.h"
-#include "Units.h"
-#include "Rotations.h"
 #include "FormFactorBox.h"
 
 
diff --git a/Core/StandardSamples/BoxCompositionBuilder.h b/Core/StandardSamples/BoxCompositionBuilder.h
index 562eac6b6ac..fda027b0a28 100644
--- a/Core/StandardSamples/BoxCompositionBuilder.h
+++ b/Core/StandardSamples/BoxCompositionBuilder.h
@@ -18,8 +18,6 @@
 
 #include "ISampleBuilder.h"
 
-class ParticleComposition;
-class HomogeneousMaterial;
 
 //! @class BoxCompositionBuilder
 //! @ingroup standard_samples
diff --git a/Core/StandardSamples/CoreShellParticleBuilder.cpp b/Core/StandardSamples/CoreShellParticleBuilder.cpp
index 5de5bc2db92..5098128d235 100644
--- a/Core/StandardSamples/CoreShellParticleBuilder.cpp
+++ b/Core/StandardSamples/CoreShellParticleBuilder.cpp
@@ -15,11 +15,7 @@
 
 #include "CoreShellParticleBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
-#include "Units.h"
 #include "FormFactorBox.h"
-#include "InterferenceFunctionNone.h"
 #include "ParticleCoreShell.h"
 
 // --- CoreShellParticleBuilder ---
diff --git a/Core/StandardSamples/CustomMorphologyBuilder.cpp b/Core/StandardSamples/CustomMorphologyBuilder.cpp
index 51eab0981cd..ec7ef702890 100644
--- a/Core/StandardSamples/CustomMorphologyBuilder.cpp
+++ b/Core/StandardSamples/CustomMorphologyBuilder.cpp
@@ -15,15 +15,7 @@
 
 #include "CustomMorphologyBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorBox.h"
-#include "GISASSimulation.h"
-#include "Utils.h"
-#include "Units.h"
-#include "MathFunctions.h"
-#include <iostream>
-#include <cmath>
 
 CustomMorphologyBuilder::CustomMorphologyBuilder()
 {
diff --git a/Core/StandardSamples/CylindersAndPrismsBuilder.cpp b/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
index 6f07e6fb5d2..5900ad2f594 100644
--- a/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
+++ b/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
@@ -15,12 +15,8 @@
 
 #include "CylindersAndPrismsBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorCylinder.h"
 #include "FormFactorPrism3.h"
-#include "Units.h"
-#include "InterferenceFunctionNone.h"
 
 CylindersAndPrismsBuilder::CylindersAndPrismsBuilder()
     : m_cylinder_height(5*Units::nanometer)
diff --git a/Core/StandardSamples/CylindersBuilder.cpp b/Core/StandardSamples/CylindersBuilder.cpp
index 0965d5bc489..051923fa246 100644
--- a/Core/StandardSamples/CylindersBuilder.cpp
+++ b/Core/StandardSamples/CylindersBuilder.cpp
@@ -15,14 +15,7 @@
 
 #include "CylindersBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorCylinder.h"
-#include "Units.h"
-#include "InterferenceFunctionNone.h"
-#include "Distributions.h"
-#include "ParticleDistribution.h"
-#include "BornAgainNamespace.h"
 
 
 // -----------------------------------------------------------------------------
diff --git a/Core/StandardSamples/LatticeBuilder.cpp b/Core/StandardSamples/LatticeBuilder.cpp
index 5a20b06e2ee..eb59475d739 100644
--- a/Core/StandardSamples/LatticeBuilder.cpp
+++ b/Core/StandardSamples/LatticeBuilder.cpp
@@ -15,11 +15,7 @@
 
 #include "InterferenceFunction1DLattice.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorCylinder.h"
-#include "Units.h"
-#include "FTDistributions.h"
 #include "LatticeBuilder.h"
 
 
diff --git a/Core/StandardSamples/LatticeBuilder.h b/Core/StandardSamples/LatticeBuilder.h
index ab543e66435..6ee86155676 100644
--- a/Core/StandardSamples/LatticeBuilder.h
+++ b/Core/StandardSamples/LatticeBuilder.h
@@ -16,8 +16,6 @@
 #ifndef LATTICEBUILDER_H
 #define LATTICEBUILDER_H
 
-#include "ISampleBuilder.h"
-class IFTDistribution2D;
 
 //! @class Lattice1DBuilder
 //! @ingroup standard_samples
diff --git a/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp b/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
index 6b8e08eba2a..210b730e6e7 100644
--- a/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
+++ b/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
@@ -14,11 +14,6 @@
 // ************************************************************************** //
 
 #include "MultiLayer.h"
-#include "HomogeneousMaterial.h"
-#include "Particle.h"
-#include "ParticleLayout.h"
-#include "FunctionalTestSuite.h"
-#include "Exceptions.h"
 #include "LayersWithAbsorptionBuilder.h"
 
 LayersWithAbsorptionBuilder::LayersWithAbsorptionBuilder()
diff --git a/Core/StandardSamples/LayersWithAbsorptionBuilder.h b/Core/StandardSamples/LayersWithAbsorptionBuilder.h
index e4bfebacf8d..ad294461576 100644
--- a/Core/StandardSamples/LayersWithAbsorptionBuilder.h
+++ b/Core/StandardSamples/LayersWithAbsorptionBuilder.h
@@ -16,8 +16,6 @@
 #ifndef LAYERSWITHABSORPTIONBUILDER_H
 #define LAYERSWITHABSORPTIONBUILDER_H
 
-#include "ISampleBuilder.h"
-class IFormFactor;
 
 //! @class LayersWithAbsorptionBuilder
 //! @ingroup standard_samples
diff --git a/Core/StandardSamples/MagneticParticlesBuilder.cpp b/Core/StandardSamples/MagneticParticlesBuilder.cpp
index 5616150072c..0b39a7e8429 100644
--- a/Core/StandardSamples/MagneticParticlesBuilder.cpp
+++ b/Core/StandardSamples/MagneticParticlesBuilder.cpp
@@ -15,11 +15,7 @@
 
 #include "MagneticParticlesBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorCylinder.h"
-#include "Units.h"
-#include "InterferenceFunctionNone.h"
 
 
 // ----------------------------------------------------------------------------
diff --git a/Core/StandardSamples/MesoCrystalBuilder.cpp b/Core/StandardSamples/MesoCrystalBuilder.cpp
index a386dd32c23..697b0cfac05 100644
--- a/Core/StandardSamples/MesoCrystalBuilder.cpp
+++ b/Core/StandardSamples/MesoCrystalBuilder.cpp
@@ -13,16 +13,11 @@
 //
 // ************************************************************************** //
 
-#include <memory>
 #include "FormFactorCylinder.h"
 #include "FormFactorDecoratorDebyeWaller.h"
 #include "MultiLayer.h"
-#include "InterferenceFunctions.h"
 #include "Crystal.h"
 #include "MesoCrystal.h"
-#include "ParticleLayout.h"
-#include "Units.h"
-#include "Materials.h"
 #include "FormFactorSphereGaussianRadius.h"
 #include "MesoCrystalBuilder.h"
 
diff --git a/Core/StandardSamples/MesoCrystalBuilder.h b/Core/StandardSamples/MesoCrystalBuilder.h
index b97366909ee..3d6ffa8eaf1 100644
--- a/Core/StandardSamples/MesoCrystalBuilder.h
+++ b/Core/StandardSamples/MesoCrystalBuilder.h
@@ -16,8 +16,6 @@
 #ifndef MESOCRYSTALBUILDER_H
 #define MESOCRYSTALBUILDER_H
 
-#include "ISampleBuilder.h"
-#include "Complex.h"
 
 //! @class MesoCrystalBuilder
 //! @ingroup standard_samples
diff --git a/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp b/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
index ff4ef42e4af..b5d0a36be95 100644
--- a/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
+++ b/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
@@ -15,10 +15,6 @@
 
 #include "MultiLayerWithRoughnessBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
-#include "Units.h"
-#include "IRoughness.h"
 
 MultiLayerWithRoughnessBuilder::MultiLayerWithRoughnessBuilder()
     : m_thicknessA(2.5*Units::nanometer)
diff --git a/Core/StandardSamples/MultipleLayoutBuilder.cpp b/Core/StandardSamples/MultipleLayoutBuilder.cpp
index a7bf030fd43..58c1229ecc3 100644
--- a/Core/StandardSamples/MultipleLayoutBuilder.cpp
+++ b/Core/StandardSamples/MultipleLayoutBuilder.cpp
@@ -15,11 +15,8 @@
 
 #include "MultipleLayoutBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorCylinder.h"
 #include "FormFactorPrism3.h"
-#include "Units.h"
 
 MultipleLayoutBuilder::MultipleLayoutBuilder()
     : m_cylinder_height(5*Units::nanometer)
diff --git a/Core/StandardSamples/ParaCrystalBuilder.cpp b/Core/StandardSamples/ParaCrystalBuilder.cpp
index 89001c417ea..5cd801e882d 100644
--- a/Core/StandardSamples/ParaCrystalBuilder.cpp
+++ b/Core/StandardSamples/ParaCrystalBuilder.cpp
@@ -14,14 +14,9 @@
 // ************************************************************************** //
 
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
 #include "InterferenceFunction2DParaCrystal.h"
 #include "FormFactorCylinder.h"
-#include "Units.h"
-#include "FTDistributions.h"
-#include "FunctionalTestSuite.h"
 #include "ParaCrystalBuilder.h"
 
 RadialParaCrystalBuilder::RadialParaCrystalBuilder()
diff --git a/Core/StandardSamples/ParaCrystalBuilder.h b/Core/StandardSamples/ParaCrystalBuilder.h
index db787f8a55d..42476c43445 100644
--- a/Core/StandardSamples/ParaCrystalBuilder.h
+++ b/Core/StandardSamples/ParaCrystalBuilder.h
@@ -16,8 +16,6 @@
 #ifndef PARACRYSTALBUILDER_H
 #define PARACRYSTALBUILDER_H
 
-#include "ISampleBuilder.h"
-class IFTDistribution2D;
 
 //! @class RadialParaCrystalBuilder
 //! @ingroup standard_samples
diff --git a/Core/StandardSamples/ParticleCompositionBuilder.cpp b/Core/StandardSamples/ParticleCompositionBuilder.cpp
index 9d10c56bb52..3aeef6bc5de 100644
--- a/Core/StandardSamples/ParticleCompositionBuilder.cpp
+++ b/Core/StandardSamples/ParticleCompositionBuilder.cpp
@@ -17,13 +17,7 @@
 #include "FormFactorFullSphere.h"
 #include "InterferenceFunction2DLattice.h"
 #include "ParticleComposition.h"
-#include "Materials.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "FTDecayFunctions.h"
-#include "Units.h"
-#include "Rotations.h"
-#include "FormFactorBox.h"
 
 // --- ParticleCompositionBuilder ---
 
diff --git a/Core/StandardSamples/ParticleDistributionsBuilder.cpp b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
index 39e7391c549..17b886d00e0 100644
--- a/Core/StandardSamples/ParticleDistributionsBuilder.cpp
+++ b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
@@ -14,13 +14,8 @@
 // ************************************************************************** //
 
 #include "ParticleDistributionsBuilder.h"
-#include "BornAgainNamespace.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorCylinder.h"
-#include "Units.h"
-#include "InterferenceFunctionNone.h"
 #include "Distributions.h"
 #include "ParticleDistribution.h"
 
diff --git a/Core/StandardSamples/ParticleInTheAirBuilder.cpp b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
index d62ab13bf33..d7d6dbd97b1 100644
--- a/Core/StandardSamples/ParticleInTheAirBuilder.cpp
+++ b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
@@ -15,11 +15,6 @@
 
 #include "ParticleInTheAirBuilder.h"
 #include "MultiLayer.h"
-#include "HomogeneousMaterial.h"
-#include "Particle.h"
-#include "ParticleLayout.h"
-#include "FunctionalTestSuite.h"
-#include "Exceptions.h"
 
 ParticleInTheAirBuilder::ParticleInTheAirBuilder()
 {
diff --git a/Core/StandardSamples/ParticleInTheAirBuilder.h b/Core/StandardSamples/ParticleInTheAirBuilder.h
index e5ccbe5725b..00277a498d5 100644
--- a/Core/StandardSamples/ParticleInTheAirBuilder.h
+++ b/Core/StandardSamples/ParticleInTheAirBuilder.h
@@ -17,7 +17,6 @@
 #define PARTICLEINTHEAIRBUILDER_H
 
 #include "ISampleBuilder.h"
-class IFormFactor;
 
 //! @class ParticleInTheAirBuilder
 //! @ingroup standard_samples
diff --git a/Core/StandardSamples/RipplesBuilder.cpp b/Core/StandardSamples/RipplesBuilder.cpp
index 7656819bb7d..80f521ae521 100644
--- a/Core/StandardSamples/RipplesBuilder.cpp
+++ b/Core/StandardSamples/RipplesBuilder.cpp
@@ -15,11 +15,8 @@
 
 #include "RipplesBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
 #include "FormFactorRipple1.h"
 #include "FormFactorRipple2.h"
-#include "Units.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
 
 CosineRippleBuilder::CosineRippleBuilder()
diff --git a/Core/StandardSamples/RotatedPyramidsBuilder.cpp b/Core/StandardSamples/RotatedPyramidsBuilder.cpp
index ebf6eee2fbf..9166140d9f2 100644
--- a/Core/StandardSamples/RotatedPyramidsBuilder.cpp
+++ b/Core/StandardSamples/RotatedPyramidsBuilder.cpp
@@ -15,11 +15,7 @@
 
 #include "RotatedPyramidsBuilder.h"
 #include "FormFactorPyramid.h"
-#include "InterferenceFunctionNone.h"
-#include "Materials.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Units.h"
 
 
 RotatedPyramidsBuilder::RotatedPyramidsBuilder()
diff --git a/Core/StandardSamples/SampleBuilderFactory.cpp b/Core/StandardSamples/SampleBuilderFactory.cpp
index 9692e3956af..1661fc3b0c5 100644
--- a/Core/StandardSamples/SampleBuilderFactory.cpp
+++ b/Core/StandardSamples/SampleBuilderFactory.cpp
@@ -13,8 +13,6 @@
 //
 // ************************************************************************** //
 
-#include <memory>
-#include "ISample.h"
 #include "CylindersAndPrismsBuilder.h"
 #include "CylindersBuilder.h"
 #include "ParaCrystalBuilder.h"
diff --git a/Core/StandardSamples/SampleBuilderFactory.h b/Core/StandardSamples/SampleBuilderFactory.h
index 0209a7cf21e..6dcf5dda4a4 100644
--- a/Core/StandardSamples/SampleBuilderFactory.h
+++ b/Core/StandardSamples/SampleBuilderFactory.h
@@ -16,7 +16,6 @@
 #ifndef SAMPLEBUILDERFACTORY_H
 #define SAMPLEBUILDERFACTORY_H
 
-#include <memory>
 #include "IFactory.h"
 #include "ISampleBuilder.h"
 
diff --git a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
index 36c51006c32..d2181385d7c 100644
--- a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
+++ b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
@@ -14,11 +14,7 @@
 // ************************************************************************** //
 
 #include "SizeDistributionModelsBuilder.h"
-#include "BornAgainNamespace.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Materials.h"
-#include "Units.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
 #include "FormFactorCylinder.h"
 #include "Distributions.h"
diff --git a/Core/StandardSamples/StandardSimulations.cpp b/Core/StandardSamples/StandardSimulations.cpp
index dd9d9688b35..ba87fca0af9 100644
--- a/Core/StandardSamples/StandardSimulations.cpp
+++ b/Core/StandardSamples/StandardSimulations.cpp
@@ -16,15 +16,12 @@
 #include "SampleBuilderFactory.h"
 #include "GISASSimulation.h"
 #include "ResolutionFunction2DGaussian.h"
-#include "Units.h"
-#include "FileSystem.h"
 #include "Distributions.h"
 #include "IsGISAXSDetector.h"
 #include "Rectangle.h"
 #include "Ellipse.h"
 #include "Polygon.h"
 #include "Line.h"
-#include "InfinitePlane.h"
 #include "BornAgainNamespace.h"
 #include "RectangularDetector.h"
 #include "StandardSimulations.h"
diff --git a/Core/StandardSamples/TransformationsBuilder.cpp b/Core/StandardSamples/TransformationsBuilder.cpp
index 4ca79d0750d..7660e16b541 100644
--- a/Core/StandardSamples/TransformationsBuilder.cpp
+++ b/Core/StandardSamples/TransformationsBuilder.cpp
@@ -14,13 +14,8 @@
 // ************************************************************************** //
 
 #include "TransformationsBuilder.h"
-#include "HomogeneousMaterial.h"
 #include "FormFactorBox.h"
-#include "Particle.h"
-#include "ParticleLayout.h"
-#include "Layer.h"
 #include "MultiLayer.h"
-#include "Rotations.h"
 
 
 ISample *TransformBoxBuilder::buildSample() const
diff --git a/Core/StandardSamples/TwoDimLatticeBuilder.cpp b/Core/StandardSamples/TwoDimLatticeBuilder.cpp
index 5dc746c5519..ce329fb22dc 100644
--- a/Core/StandardSamples/TwoDimLatticeBuilder.cpp
+++ b/Core/StandardSamples/TwoDimLatticeBuilder.cpp
@@ -15,14 +15,9 @@
 
 #include "TwoDimLatticeBuilder.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
 #include "ParticleComposition.h"
 #include "FormFactorCylinder.h"
-#include "GISASSimulation.h"
-#include "Units.h"
-#include "Materials.h"
 #include "InterferenceFunction2DLattice.h"
-#include "Utils.h"
 
 
 // -----------------------------------------------------------------------------
diff --git a/Core/TestMachinery/CoreTest.cpp b/Core/TestMachinery/CoreTest.cpp
index 70a0cf3764a..33a8ec77b4a 100644
--- a/Core/TestMachinery/CoreTest.cpp
+++ b/Core/TestMachinery/CoreTest.cpp
@@ -19,7 +19,6 @@
 #include "TestConfig.h"
 #include "FileSystem.h"
 #include "IntensityDataIOFactory.h"
-#include "OutputDataIOHelper.h"
 #include "Utils.h"
 
 CoreTest::CoreTest(
diff --git a/Core/TestMachinery/CoreTest.h b/Core/TestMachinery/CoreTest.h
index 26bcd433b2a..6af0cd09268 100644
--- a/Core/TestMachinery/CoreTest.h
+++ b/Core/TestMachinery/CoreTest.h
@@ -16,7 +16,6 @@
 #ifndef CORETEST_H
 #define CORETEST_H
 
-#include "WinDllMacros.h"
 #include "OutputData.h"
 #include "IFunctionalTest.h"
 
diff --git a/Core/TestMachinery/FunctionalTestInfo.h b/Core/TestMachinery/FunctionalTestInfo.h
index e3c21c0e3c3..6deca69999b 100644
--- a/Core/TestMachinery/FunctionalTestInfo.h
+++ b/Core/TestMachinery/FunctionalTestInfo.h
@@ -16,7 +16,6 @@
 #ifndef FUNCTIONALTESTINFO_H
 #define FUNCTIONALTESTINFO_H
 
-#include "WinDllMacros.h"
 #include <string>
 
 //! @class FunctionalTestInfo
diff --git a/Core/TestMachinery/FunctionalTestRegistry.cpp b/Core/TestMachinery/FunctionalTestRegistry.cpp
index de00281f509..f8ab72ac7c5 100644
--- a/Core/TestMachinery/FunctionalTestRegistry.cpp
+++ b/Core/TestMachinery/FunctionalTestRegistry.cpp
@@ -14,9 +14,7 @@
 // ************************************************************************** //
 
 #include "FunctionalTestRegistry.h"
-#include "Exceptions.h"
 #include "Utils.h"
-#include <iostream>
 
 FunctionalTestRegistry::FunctionalTestRegistry()
 {
diff --git a/Core/TestMachinery/FunctionalTestRegistry.h b/Core/TestMachinery/FunctionalTestRegistry.h
index 3b6afbcc25c..9e44bda4e72 100644
--- a/Core/TestMachinery/FunctionalTestRegistry.h
+++ b/Core/TestMachinery/FunctionalTestRegistry.h
@@ -16,11 +16,8 @@
 #ifndef FUNCTIONALTESTREGISTRY_H
 #define FUNCTIONALTESTREGISTRY_H
 
-#include <vector>
-#include <string>
 #include <map>
 
-#include "WinDllMacros.h"
 #include "FunctionalTestInfo.h"
 #include "ISingleton.h"
 
diff --git a/Core/TestMachinery/FunctionalTestSuite.cpp b/Core/TestMachinery/FunctionalTestSuite.cpp
index 1521a446476..7858bf5a118 100644
--- a/Core/TestMachinery/FunctionalTestSuite.cpp
+++ b/Core/TestMachinery/FunctionalTestSuite.cpp
@@ -13,14 +13,12 @@
 //
 // ************************************************************************** //
 
-#include <iostream>
 
 #include "FunctionalTestRegistry.h"
 #include "SimulationFactory.h"
 #include "SampleBuilderFactory.h"
 #include "SubtestRegistry.h"
 #include "IFunctionalTest.h"
-#include "Exceptions.h"
 #include "FunctionalTestSuite.h"
 
 // ************************************************************************** //
diff --git a/Core/TestMachinery/FunctionalTestSuite.h b/Core/TestMachinery/FunctionalTestSuite.h
index b77035f4a5e..04136ce05b6 100644
--- a/Core/TestMachinery/FunctionalTestSuite.h
+++ b/Core/TestMachinery/FunctionalTestSuite.h
@@ -16,12 +16,7 @@
 #ifndef FUNCTIONALTESTSUITE_H
 #define FUNCTIONALTESTSUITE_H
 
-#include <vector>
-#include <string>
-#include <memory>
 
-#include "WinDllMacros.h"
-#include "OutputData.h"
 #include "ISampleBuilder.h"
 
 //! @class FunctionalTestSuite
diff --git a/Core/TestMachinery/IFunctionalTest.cpp b/Core/TestMachinery/IFunctionalTest.cpp
index e615378488a..9457b266254 100644
--- a/Core/TestMachinery/IFunctionalTest.cpp
+++ b/Core/TestMachinery/IFunctionalTest.cpp
@@ -15,7 +15,6 @@
 
 #include "IFunctionalTest.h"
 #include "Utils.h"
-#include <sstream>
 
 namespace {
 
diff --git a/Core/TestMachinery/IFunctionalTest.h b/Core/TestMachinery/IFunctionalTest.h
index 74afb27697c..1a4f979a9cd 100644
--- a/Core/TestMachinery/IFunctionalTest.h
+++ b/Core/TestMachinery/IFunctionalTest.h
@@ -16,10 +16,8 @@
 #ifndef IFUNCTIONALTEST_H
 #define IFUNCTIONALTEST_H
 
-#include "WinDllMacros.h"
 #include "INamed.h"
 #include <map>
-#include <string>
 
 //! @class IFunctionalTest
 //! @ingroup standard_samples
diff --git a/Core/TestMachinery/IRegistry.h b/Core/TestMachinery/IRegistry.h
index 35168fb7929..e7bbe826553 100644
--- a/Core/TestMachinery/IRegistry.h
+++ b/Core/TestMachinery/IRegistry.h
@@ -16,11 +16,6 @@
 #ifndef IREGISTRY_H
 #define IREGISTRY_H
 
-#include "Exceptions.h"
-#include "WinDllMacros.h"
-#include <map>
-#include <sstream>
-#include <memory>
 
 //! @class IRegistry
 //! @ingroup tools_internal
diff --git a/Core/TestMachinery/PySuiteTest.cpp b/Core/TestMachinery/PySuiteTest.cpp
index aeb608bcac3..09cd305a307 100644
--- a/Core/TestMachinery/PySuiteTest.cpp
+++ b/Core/TestMachinery/PySuiteTest.cpp
@@ -13,10 +13,7 @@
 //
 // ************************************************************************** //
 
-#include <memory>
 #include <fstream>
-#include <cstdio>
-#include <cassert>
 
 #include "SimulationFactory.h"
 #include "IntensityDataIOFactory.h"
diff --git a/Core/TestMachinery/PySuiteTest.h b/Core/TestMachinery/PySuiteTest.h
index cf55e096140..e557d566668 100644
--- a/Core/TestMachinery/PySuiteTest.h
+++ b/Core/TestMachinery/PySuiteTest.h
@@ -16,12 +16,9 @@
 #ifndef PYSUITETEST_H
 #define PYSUITETEST_H
 
-#include "WinDllMacros.h"
 #include "IFunctionalTest.h"
 #include "OutputData.h"
-#include <string>
 
-class GISASSimulation;
 
 //! @class PySuiteTest
 //! @ingroup standard_samples
diff --git a/Core/TestMachinery/SubtestRegistry.h b/Core/TestMachinery/SubtestRegistry.h
index c4f2f3256d3..033af12ca99 100644
--- a/Core/TestMachinery/SubtestRegistry.h
+++ b/Core/TestMachinery/SubtestRegistry.h
@@ -17,7 +17,6 @@
 #define SUBTESTREGISTRY_H
 
 #include "IRegistry.h"
-#include "IFormFactor.h"
 #include "FTDistributions.h"
 
 // ************************************************************************** //
diff --git a/Core/Tools/AttLimits.h b/Core/Tools/AttLimits.h
index c242f100856..3c01218e7cf 100644
--- a/Core/Tools/AttLimits.h
+++ b/Core/Tools/AttLimits.h
@@ -16,7 +16,6 @@
 #ifndef ATTLIMITS_H
 #define ATTLIMITS_H
 
-#include "WinDllMacros.h"
 #include "Numeric.h"
 #include <iostream>
 
diff --git a/Core/Tools/Bin.h b/Core/Tools/Bin.h
index ec38eadbdea..99657c48451 100644
--- a/Core/Tools/Bin.h
+++ b/Core/Tools/Bin.h
@@ -18,7 +18,6 @@
 
 #include "Numeric.h"
 #include "Vectors3D.h"
-#include "WinDllMacros.h"
 
 //! @class Bin1D
 //! @ingroup tools_internal
diff --git a/Core/Tools/ConstKBinAxis.cpp b/Core/Tools/ConstKBinAxis.cpp
index dc9812f3793..eaeb8d618cf 100644
--- a/Core/Tools/ConstKBinAxis.cpp
+++ b/Core/Tools/ConstKBinAxis.cpp
@@ -14,9 +14,7 @@
 // ************************************************************************** //
 
 #include "ConstKBinAxis.h"
-#include "Exceptions.h"
 #include <iomanip>
-#include <iostream>
 
 ConstKBinAxis::ConstKBinAxis(const std::string &name, size_t nbins)
     : VariableBinAxis(name, nbins)
diff --git a/Core/Tools/Convolve.cpp b/Core/Tools/Convolve.cpp
index 1ea6628233a..a7cf5307fce 100644
--- a/Core/Tools/Convolve.cpp
+++ b/Core/Tools/Convolve.cpp
@@ -15,7 +15,6 @@
 
 #include "Convolve.h"
 #include <iostream>
-#include <stdexcept>
 #include <sstream>
 #include "Exceptions.h"
 
diff --git a/Core/Tools/Convolve.h b/Core/Tools/Convolve.h
index bd9eeee89d8..df9fc914c46 100644
--- a/Core/Tools/Convolve.h
+++ b/Core/Tools/Convolve.h
@@ -16,7 +16,6 @@
 #ifndef CONVOLVE_H
 #define CONVOLVE_H
 
-#include "WinDllMacros.h"
 #include <fftw3.h>
 #include <vector>
 
diff --git a/Core/Tools/CumulativeValue.h b/Core/Tools/CumulativeValue.h
index eb91b5dea47..7f7e5110a3c 100644
--- a/Core/Tools/CumulativeValue.h
+++ b/Core/Tools/CumulativeValue.h
@@ -16,7 +16,6 @@
 #ifndef CUMULATIVEVALUE_H
 #define CUMULATIVEVALUE_H
 
-#include "WinDllMacros.h"
 
 //! @class CumulativeValue
 //! @ingroup tools
diff --git a/Core/Tools/CustomBinAxis.cpp b/Core/Tools/CustomBinAxis.cpp
index e935e74259b..eaec130fd91 100644
--- a/Core/Tools/CustomBinAxis.cpp
+++ b/Core/Tools/CustomBinAxis.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "CustomBinAxis.h"
-#include "Units.h"
 #include <iomanip>
 
 CustomBinAxis::CustomBinAxis(const std::string &name, size_t nbins, double start, double end)
diff --git a/Core/Tools/EigenCore.h b/Core/Tools/EigenCore.h
index f858d5c82ef..dc089de09c1 100644
--- a/Core/Tools/EigenCore.h
+++ b/Core/Tools/EigenCore.h
@@ -21,7 +21,6 @@
 
 #ifndef SWIG
 #ifndef _WIN32
-#include <unistd.h>
 #endif
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
diff --git a/Core/Tools/Exceptions.cpp b/Core/Tools/Exceptions.cpp
index 18c18e98a41..1309d25262d 100644
--- a/Core/Tools/Exceptions.cpp
+++ b/Core/Tools/Exceptions.cpp
@@ -15,7 +15,6 @@
 
 #include "Exceptions.h"
 #include <iostream>
-#include <string>
 
 namespace Exceptions {
 
diff --git a/Core/Tools/Exceptions.h b/Core/Tools/Exceptions.h
index 39a2b197722..431fbc45dc4 100644
--- a/Core/Tools/Exceptions.h
+++ b/Core/Tools/Exceptions.h
@@ -16,9 +16,7 @@
 #ifndef EXCEPTIONS_H
 #define EXCEPTIONS_H
 
-#include "WinDllMacros.h"
 #include <stdexcept>
-#include <string>
 
 #ifdef _WIN32
 #ifdef _MSC_VER
diff --git a/Core/Tools/FastVector.h b/Core/Tools/FastVector.h
index 5024d3822ca..3900e693741 100644
--- a/Core/Tools/FastVector.h
+++ b/Core/Tools/FastVector.h
@@ -16,7 +16,6 @@
 #ifndef FASTVECTOR_H
 #define FASTVECTOR_H
 
-#include "Vectors3D.h"
 #include <iostream>
 #include <vector>
 
diff --git a/Core/Tools/FileSystem.h b/Core/Tools/FileSystem.h
index a7745a6afd3..e52031e1203 100644
--- a/Core/Tools/FileSystem.h
+++ b/Core/Tools/FileSystem.h
@@ -16,7 +16,6 @@
 #ifndef FILESYSTEM_H
 #define FILESYSTEM_H
 
-#include "WinDllMacros.h"
 #include <string>
 
 //! Utilities to deal with file system.
diff --git a/Core/Tools/FixedBinAxis.cpp b/Core/Tools/FixedBinAxis.cpp
index 370c2838afe..794d88b5130 100644
--- a/Core/Tools/FixedBinAxis.cpp
+++ b/Core/Tools/FixedBinAxis.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "FixedBinAxis.h"
-#include "Exceptions.h"
 #include <iomanip>
 
 
diff --git a/Core/Tools/Histogram1D.cpp b/Core/Tools/Histogram1D.cpp
index a90b798ff62..97a2283ebcb 100644
--- a/Core/Tools/Histogram1D.cpp
+++ b/Core/Tools/Histogram1D.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "Histogram1D.h"
-#include "FixedBinAxis.h"
 #include "VariableBinAxis.h"
 #include "NumpyUtils.h"
 #include <memory>
diff --git a/Core/Tools/Histogram2D.cpp b/Core/Tools/Histogram2D.cpp
index ae1ed71cff2..29497c5dd5e 100644
--- a/Core/Tools/Histogram2D.cpp
+++ b/Core/Tools/Histogram2D.cpp
@@ -15,7 +15,6 @@
 
 #include "Histogram2D.h"
 #include "Histogram1D.h"
-#include "FixedBinAxis.h"
 #include "VariableBinAxis.h"
 #include <memory>
 
diff --git a/Core/Tools/Histogram2D.h b/Core/Tools/Histogram2D.h
index 56f2d63d196..c1d1f05d0ca 100644
--- a/Core/Tools/Histogram2D.h
+++ b/Core/Tools/Histogram2D.h
@@ -17,8 +17,6 @@
 #define HISTOGRAM2D_H
 
 #include "IHistogram.h"
-#include "Complex.h"
-class Histogram1D;
 
 #ifdef BORNAGAIN_PYTHON
 #ifndef PyObject_HEAD
diff --git a/Core/Tools/IAxis.h b/Core/Tools/IAxis.h
index 62669dfab1a..20cbf898c00 100644
--- a/Core/Tools/IAxis.h
+++ b/Core/Tools/IAxis.h
@@ -17,10 +17,8 @@
 #define IAXIS_H
 
 #include "Bin.h"
-#include "Exceptions.h"
 #include <vector>
 
-using std::size_t;
 
 //! @class IAxis
 //! @ingroup tools_internal
diff --git a/Core/Tools/IFactory.h b/Core/Tools/IFactory.h
index b5621be2fd0..358e1534781 100644
--- a/Core/Tools/IFactory.h
+++ b/Core/Tools/IFactory.h
@@ -18,8 +18,6 @@
 
 #include "Exceptions.h"
 #include <map>
-#include <iostream>
-#include <vector>
 #include <functional>
 
 //! @class IFactory
diff --git a/Core/Tools/IHistogram.cpp b/Core/Tools/IHistogram.cpp
index 4c98b9757bb..dc606496fde 100644
--- a/Core/Tools/IHistogram.cpp
+++ b/Core/Tools/IHistogram.cpp
@@ -13,14 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "IHistogram.h"
-#include "FixedBinAxis.h"
-#include "VariableBinAxis.h"
-#include "Exceptions.h"
 #include "Histogram1D.h"
 #include "Histogram2D.h"
 #include "IntensityDataIOFactory.h"
-#include <sstream>
 #include <memory>
 
 IHistogram::IHistogram()
diff --git a/Core/Tools/IHistogram.h b/Core/Tools/IHistogram.h
index bee58ceab60..0d60f7d410f 100644
--- a/Core/Tools/IHistogram.h
+++ b/Core/Tools/IHistogram.h
@@ -27,7 +27,6 @@ typedef _object PyObject;
 #endif
 
 class Histogram1D;
-class Histogram2D;
 
 //! @class IHistogram
 //! @ingroup tools
diff --git a/Core/Tools/INamed.h b/Core/Tools/INamed.h
index e2fb3c57232..696516302cc 100644
--- a/Core/Tools/INamed.h
+++ b/Core/Tools/INamed.h
@@ -16,7 +16,6 @@
 #ifndef INAMED_H
 #define INAMED_H
 
-#include "WinDllMacros.h"
 #include <string>
 
 //! @class INamed
diff --git a/Core/Tools/IObserver.h b/Core/Tools/IObserver.h
index e24513fecaf..f25ed7f9b7c 100644
--- a/Core/Tools/IObserver.h
+++ b/Core/Tools/IObserver.h
@@ -16,7 +16,6 @@
 #ifndef IOBSERVER_H
 #define IOBSERVER_H
 
-#include "Exceptions.h"
 #include <list>
 #include <memory>
 
diff --git a/Core/Tools/IParameterized.cpp b/Core/Tools/IParameterized.cpp
index 8e051bd26e8..dd38bb4c914 100644
--- a/Core/Tools/IParameterized.cpp
+++ b/Core/Tools/IParameterized.cpp
@@ -15,8 +15,6 @@
 
 #include "IParameterized.h"
 
-#include "Utils.h"
-#include <iostream>
 #include <sstream>
 #include <memory>
 
diff --git a/Core/Tools/IParameterized.h b/Core/Tools/IParameterized.h
index ab1203ff78f..722059e2983 100644
--- a/Core/Tools/IParameterized.h
+++ b/Core/Tools/IParameterized.h
@@ -19,7 +19,6 @@
 #include "INamed.h"
 #include "ParameterPool.h"
 
-class AttLimits;
 
 //! @class IParameterized
 //! @ingroup tools_internal
diff --git a/Core/Tools/ISingleton.h b/Core/Tools/ISingleton.h
index 4b758bfb798..dc71c237a3a 100644
--- a/Core/Tools/ISingleton.h
+++ b/Core/Tools/ISingleton.h
@@ -16,10 +16,7 @@
 #ifndef ISINGLETON_H
 #define ISINGLETON_H
 
-#include <stdexcept>
 #include <iostream>
-#include <typeinfo>
-#include "Macros.h"
 #include <mutex>
 
 //! @class ISingleton
diff --git a/Core/Tools/IntegratorComplex.h b/Core/Tools/IntegratorComplex.h
index 0208dfcf7e0..8ef1dd00307 100644
--- a/Core/Tools/IntegratorComplex.h
+++ b/Core/Tools/IntegratorComplex.h
@@ -17,7 +17,6 @@
 #define INTEGRATORCOMPLEX_H
 
 #include "IntegratorReal.h"
-#include "Complex.h"
 
 //! Alias template for member function with signature complex_t f(double)
 template <class T>
diff --git a/Core/Tools/IntegratorMCMiser.h b/Core/Tools/IntegratorMCMiser.h
index e8e552bf61a..7a3d5f6cc88 100644
--- a/Core/Tools/IntegratorMCMiser.h
+++ b/Core/Tools/IntegratorMCMiser.h
@@ -18,7 +18,6 @@
 
 #include "gsl/gsl_monte_miser.h"
 
-#include <memory>
 
 //! Alias template for member function with signature double f(double)
 template <class T>
diff --git a/Core/Tools/IntensityDataFunctions.cpp b/Core/Tools/IntensityDataFunctions.cpp
index 6e272948651..676b08f0772 100644
--- a/Core/Tools/IntensityDataFunctions.cpp
+++ b/Core/Tools/IntensityDataFunctions.cpp
@@ -14,10 +14,6 @@
 // ************************************************************************** //
 
 #include "IntensityDataFunctions.h"
-#include "OutputDataFunctions.h"
-#include "MathFunctions.h"
-#include "IDetectorResolution.h"
-#include "IResolutionFunction2D.h"
 #include "ConvolutionDetectorResolution.h"
 #include "IHistogram.h"
 #include <memory>
diff --git a/Core/Tools/LLData.cpp b/Core/Tools/LLData.cpp
index 8070476b94c..e919ae0a9b6 100644
--- a/Core/Tools/LLData.cpp
+++ b/Core/Tools/LLData.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "LLData.h"
-#include "EigenCore.h"
 
 template <>
 Eigen::Matrix2d LLData<Eigen::Matrix2d>::getZeroElement() const
diff --git a/Core/Tools/LLData.h b/Core/Tools/LLData.h
index 95b09102a32..a201b42bcd5 100644
--- a/Core/Tools/LLData.h
+++ b/Core/Tools/LLData.h
@@ -16,7 +16,6 @@
 #ifndef LLDATA_H
 #define LLDATA_H
 
-#include <algorithm>
 
 #include "Exceptions.h"
 #include "Numeric.h"
diff --git a/Core/Tools/Macros.h b/Core/Tools/Macros.h
index 465a54df710..27c198acd47 100644
--- a/Core/Tools/Macros.h
+++ b/Core/Tools/Macros.h
@@ -22,13 +22,11 @@ It should be used to get rid from warnings coming from the third party library (
 
 Usage:
 GCC_DIAG_OFF(unused-parameter);
-#include <boost/program_options.hpp>
 GCC_DIAG_ON(unused-parameter);
 
 For the gcc 4.6 macros have same behavior as
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wunused-parameter"
-#include <boost/program_options.hpp>
 #pragma GCC diagnostic pop
 
 Be aware, that macros has different behavior for gcc<4.2, 4.2<=gcc<4.6; gcc>=4.6
diff --git a/Core/Tools/MathFunctions.cpp b/Core/Tools/MathFunctions.cpp
index d16eace6e5e..3b5f7c16211 100644
--- a/Core/Tools/MathFunctions.cpp
+++ b/Core/Tools/MathFunctions.cpp
@@ -15,16 +15,12 @@
 
 #include "MathFunctions.h"
 
-#include <cmath>
-#include <cassert>
 #include <cstring>
-#include <stdexcept>
 #include <fftw3.h>
 #include <gsl/gsl_sf_erf.h>
 #include "gsl/gsl_sf_bessel.h"
 #include "gsl/gsl_sf_trig.h"
 #include "gsl/gsl_sf_expint.h"
-#include "gsl/gsl_integration.h"
 #include <random>
 #include <chrono>
 
diff --git a/Core/Tools/MathFunctions.h b/Core/Tools/MathFunctions.h
index ed656c121c6..4029374176c 100644
--- a/Core/Tools/MathFunctions.h
+++ b/Core/Tools/MathFunctions.h
@@ -20,9 +20,7 @@
 #include "Units.h"
 #include "Numeric.h"
 
-#include <cstdlib>
 #include <vector>
-#include <cmath>
 
 //! Various mathematical functions.
 
diff --git a/Core/Tools/MessageService.cpp b/Core/Tools/MessageService.cpp
index 252371f4cdc..f1665b857d9 100644
--- a/Core/Tools/MessageService.cpp
+++ b/Core/Tools/MessageService.cpp
@@ -17,7 +17,6 @@
 #include "Exceptions.h"
 //#include <sys/time.h>
 #include <boost/date_time/posix_time/posix_time.hpp>
-#include <cstdio>
 
 std::vector<std::string> MSG::Logger::m_level_names =
     {"VERBOSE", "DEBUG2", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL"};
diff --git a/Core/Tools/MessageService.h b/Core/Tools/MessageService.h
index 0c1d8171f04..ff77e3895d4 100644
--- a/Core/Tools/MessageService.h
+++ b/Core/Tools/MessageService.h
@@ -16,10 +16,7 @@
 #ifndef MESSAGESERVICE_H
 #define MESSAGESERVICE_H
 
-#include "WinDllMacros.h"
-#include <iostream>
 #include <sstream>
-#include <string>
 #include <vector>
 #include <iomanip>
 
diff --git a/Core/Tools/Numeric.h b/Core/Tools/Numeric.h
index c4366a0d04f..587c6a1bf4b 100644
--- a/Core/Tools/Numeric.h
+++ b/Core/Tools/Numeric.h
@@ -16,8 +16,6 @@
 #ifndef NUMERIC_H
 #define NUMERIC_H
 
-#include "WinDllMacros.h"
-#include <limits>
 #include <cmath>
 #include <algorithm>
 
diff --git a/Core/Tools/NumpyUtils.cpp b/Core/Tools/NumpyUtils.cpp
index 91e9727dba9..3c692e7cdb2 100644
--- a/Core/Tools/NumpyUtils.cpp
+++ b/Core/Tools/NumpyUtils.cpp
@@ -19,7 +19,6 @@
 
 #ifdef BORNAGAIN_PYTHON
 #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
-#include "Python.h"
 #define PY_ARRAY_UNIQUE_SYMBOL BORNAGAIN_PYTHONAPI_ARRAY
 #define NO_IMPORT_ARRAY
 #include "numpy/arrayobject.h"
diff --git a/Core/Tools/OutputData.cpp b/Core/Tools/OutputData.cpp
index 6dfb30ba6e5..2f5dc8ac020 100644
--- a/Core/Tools/OutputData.cpp
+++ b/Core/Tools/OutputData.cpp
@@ -17,12 +17,10 @@
 
 #ifdef BORNAGAIN_PYTHON
 #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
-#include "Python.h"
 #define PY_ARRAY_UNIQUE_SYMBOL BORNAGAIN_PYTHONAPI_ARRAY
 #define NO_IMPORT_ARRAY
 #include "numpy/arrayobject.h"
 
-#include <iostream>
 
 
 template<>
diff --git a/Core/Tools/OutputData.h b/Core/Tools/OutputData.h
index 6456d4b5b4f..955367c6439 100644
--- a/Core/Tools/OutputData.h
+++ b/Core/Tools/OutputData.h
@@ -27,11 +27,7 @@ typedef _object PyObject;
 #include "LLData.h"
 #include "OutputDataIterator.h"
 #include "SafePointerVector.h"
-#include "ThreadInfo.h"
-#include <sstream>
-#include <cassert>
 
-using std::size_t;
 
 //! @class OutputData
 //! @ingroup tools
diff --git a/Core/Tools/OutputDataFunctions.cpp b/Core/Tools/OutputDataFunctions.cpp
index 47d4bc8e9ea..e9a54b9a76e 100644
--- a/Core/Tools/OutputDataFunctions.cpp
+++ b/Core/Tools/OutputDataFunctions.cpp
@@ -14,11 +14,7 @@
 // ************************************************************************** //
 
 #include "OutputDataFunctions.h"
-#include "Exceptions.h"
-#include "Numeric.h"
-#include "MathFunctions.h"
 
-#include <cmath>
 #include <fftw3.h>
 
 void toFftw3Array(complex_t *source, size_t length, fftw_complex *destination);
diff --git a/Core/Tools/OutputDataFunctions.h b/Core/Tools/OutputDataFunctions.h
index 277d4c3bb65..79043b3185e 100644
--- a/Core/Tools/OutputDataFunctions.h
+++ b/Core/Tools/OutputDataFunctions.h
@@ -16,12 +16,9 @@
 #ifndef OUTPUTDATAFUNCTIONS_H
 #define OUTPUTDATAFUNCTIONS_H
 
-#include "WinDllMacros.h"
 #include "Complex.h"
 #include "OutputData.h"
 #include "IIntensityFunction.h"
-#include "Mask.h"
-#include "EigenCore.h"
 
 //! Collection of functions to deal with OutputData
 
diff --git a/Core/Tools/OutputDataIterator.h b/Core/Tools/OutputDataIterator.h
index 7a633162e1b..48df61d090f 100644
--- a/Core/Tools/OutputDataIterator.h
+++ b/Core/Tools/OutputDataIterator.h
@@ -18,7 +18,6 @@
 
 #include "Mask.h"
 
-#include <iterator>
 
 //! @class OutputDataIterator
 //! @ingroup tools_internal
diff --git a/Core/Tools/ParameterDistribution.cpp b/Core/Tools/ParameterDistribution.cpp
index 13cfa3ed904..dfbf7b16063 100644
--- a/Core/Tools/ParameterDistribution.cpp
+++ b/Core/Tools/ParameterDistribution.cpp
@@ -15,7 +15,6 @@
 
 #include "ParameterDistribution.h"
 
-#include "Exceptions.h"
 #include "Distributions.h"
 
 
diff --git a/Core/Tools/ParameterDistribution.h b/Core/Tools/ParameterDistribution.h
index 8e9aae49054..394fd71c72f 100644
--- a/Core/Tools/ParameterDistribution.h
+++ b/Core/Tools/ParameterDistribution.h
@@ -18,11 +18,8 @@
 
 #include "ParameterSample.h"
 #include "IParameterized.h"
-#include "AttLimits.h"
 
 #include <memory>
-#include <string>
-#include <vector>
 
 class IDistribution1D;
 
diff --git a/Core/Tools/ParameterPool.cpp b/Core/Tools/ParameterPool.cpp
index 8a42e0f17e4..4ef5cdc2cd1 100644
--- a/Core/Tools/ParameterPool.cpp
+++ b/Core/Tools/ParameterPool.cpp
@@ -13,14 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "IParameterized.h"
 #include "ParameterPool.h"
-#include "Exceptions.h"
 #include "Utils.h"
-#include "MessageService.h"
-#include <boost/algorithm/string/replace.hpp>
-#include <iostream>
-#include <sstream>
 
 typedef std::map<std::string, RealParameterWrapper > parametermap_t;
 
diff --git a/Core/Tools/ParameterPool.h b/Core/Tools/ParameterPool.h
index 066bf03f480..d50b7f24034 100644
--- a/Core/Tools/ParameterPool.h
+++ b/Core/Tools/ParameterPool.h
@@ -16,14 +16,11 @@
 #ifndef PARAMETERPOOL_H
 #define PARAMETERPOOL_H
 
-#include "WinDllMacros.h"
 #include "ICloneable.h"
 #include "RealParameterWrapper.h"
 #include <map>
 #include <vector>
 
-class IParameterized;
-class AttLimits;
 
 //! @class ParameterPool
 //! @ingroup tools_internal
diff --git a/Core/Tools/PyGenTools.cpp b/Core/Tools/PyGenTools.cpp
index de356055ad4..5334a7f39ad 100644
--- a/Core/Tools/PyGenTools.cpp
+++ b/Core/Tools/PyGenTools.cpp
@@ -14,27 +14,15 @@
 // ************************************************************************** //
 
 #include "Macros.h"
-#include "IntensityDataFunctions.h"
-#include "IntensityDataIOFactory.h"
-#include "ISample.h"
 #include "MultiLayer.h"
 #include "PyGenTools.h"
-#include "GISASSimulation.h"
 #include "Distributions.h"
 #include "Rectangle.h"
 #include "Ellipse.h"
 #include "Line.h"
 #include "Polygon.h"
 #include "InfinitePlane.h"
-#include "BAPython.h"
-#include <memory>
-#include <sstream>
-#include <fstream>
-#include <iostream>
 #include <iomanip>
-#include <cstdio>
-#include <cmath>
-#include <Python.h>
 GCC_DIAG_OFF(missing-field-initializers)
 GCC_DIAG_OFF(unused-parameter)
 GCC_DIAG_ON(unused-parameter)
diff --git a/Core/Tools/PyGenTools.h b/Core/Tools/PyGenTools.h
index 58028cfa1d9..9a8811a3f43 100644
--- a/Core/Tools/PyGenTools.h
+++ b/Core/Tools/PyGenTools.h
@@ -17,7 +17,6 @@
 #define PYGENTOOLS_H
 
 #include "PyGenVisitor.h"
-#include "Complex.h"
 
 namespace PyGenTools {
     BA_CORE_API_ std::string genPyScript(
diff --git a/Core/Tools/PyGenVisitor.cpp b/Core/Tools/PyGenVisitor.cpp
index e05d797306d..d8d5b7aa57b 100644
--- a/Core/Tools/PyGenVisitor.cpp
+++ b/Core/Tools/PyGenVisitor.cpp
@@ -13,35 +13,18 @@
 //
 // ************************************************************************** //
 
-#include <iostream>
-#include <fstream>
 #include <iomanip>
-#include <map>
-#include <set>
-#include <utility>
-#include "Exceptions.h"
 #include "FormFactors.h"
 #include "InterferenceFunctions.h"
-#include "IMaterial.h"
-#include "ICompositeSample.h"
-#include "Layer.h"
 #include "SampleLabelHandler.h"
-#include "LayerInterface.h"
 #include "MultiLayer.h"
-#include "Particle.h"
 #include "ParticleCoreShell.h"
 #include "ParticleDistribution.h"
-#include "ParticleLayout.h"
-#include "PyGenVisitor.h"
 #include "PyGenTools.h"
-#include "ParameterDistribution.h"
-#include "Rotations.h"
-#include "DetectorMask.h"
 #include "ConvolutionDetectorResolution.h"
 #include "ResolutionFunction2DGaussian.h"
 #include "RectangularDetector.h"
 #include "SphericalDetector.h"
-#include "SimulationOptions.h"
 
 PyGenVisitor::PyGenVisitor() : m_label(new SampleLabelHandler())
 {
diff --git a/Core/Tools/PyGenVisitor.h b/Core/Tools/PyGenVisitor.h
index 2f581c3f293..24a5b9ac355 100644
--- a/Core/Tools/PyGenVisitor.h
+++ b/Core/Tools/PyGenVisitor.h
@@ -15,14 +15,9 @@
 
 #ifndef PYGENVISITOR_H
 #define PYGENVISITOR_H
-#include "ISampleVisitor.h"
-#include "WinDllMacros.h"
 
-#include <set>
 
-class IMaterial;
 class SampleLabelHandler;
-class GISASSimulation;
 
 class BA_CORE_API_ PyGenVisitor : public ISampleVisitor
 {
@@ -30,7 +25,6 @@ public:
     PyGenVisitor();
     virtual ~PyGenVisitor();
 
-    using ISampleVisitor::visit;
 
     std::string writePyScript(
         const GISASSimulation* simulation, const std::string& output_filename);
diff --git a/Core/Tools/RealParameterWrapper.cpp b/Core/Tools/RealParameterWrapper.cpp
index 69b36a0dbac..9c0769bb185 100644
--- a/Core/Tools/RealParameterWrapper.cpp
+++ b/Core/Tools/RealParameterWrapper.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "IParameterized.h"
-#include "RealParameterWrapper.h"
 #include <sstream>
 
 RealParameterWrapper::RealParameterWrapper(
diff --git a/Core/Tools/RealParameterWrapper.h b/Core/Tools/RealParameterWrapper.h
index 4178288b411..06baa38de39 100644
--- a/Core/Tools/RealParameterWrapper.h
+++ b/Core/Tools/RealParameterWrapper.h
@@ -16,11 +16,8 @@
 #ifndef REALPARAMETERWRAPPER_H
 #define REALPARAMETERWRAPPER_H
 
-#include "WinDllMacros.h"
-#include "Exceptions.h"
 #include "AttLimits.h"
 
-#include <ostream>
 
 class IParameterized;
 
diff --git a/Core/Tools/SafePointerVector.h b/Core/Tools/SafePointerVector.h
index 58942bad068..abca9d1e8c6 100644
--- a/Core/Tools/SafePointerVector.h
+++ b/Core/Tools/SafePointerVector.h
@@ -19,7 +19,6 @@
 #include <vector>
 #include <algorithm>
 
-using std::size_t;
 
 //! @class SafePointerVector
 //! @ingroup tools_internal
diff --git a/Core/Tools/SampleLabelHandler.cpp b/Core/Tools/SampleLabelHandler.cpp
index edcb25d6835..fc92f91131d 100644
--- a/Core/Tools/SampleLabelHandler.cpp
+++ b/Core/Tools/SampleLabelHandler.cpp
@@ -15,13 +15,9 @@
 
 #include "SampleLabelHandler.h"
 #include "MultiLayer.h"
-#include "Layer.h"
-#include "IParticle.h"
-#include "ParticleLayout.h"
 #include "ParticleCoreShell.h"
 #include "ParticleComposition.h"
 #include "ParticleDistribution.h"
-#include <iostream>
 
 SampleLabelHandler::SampleLabelHandler()
 {
diff --git a/Core/Tools/SampleLabelHandler.h b/Core/Tools/SampleLabelHandler.h
index c6a8a62fad9..3048630cb08 100644
--- a/Core/Tools/SampleLabelHandler.h
+++ b/Core/Tools/SampleLabelHandler.h
@@ -16,9 +16,7 @@
 #ifndef SAMPLELABELHANDLER_H
 #define SAMPLELABELHANDLER_H
 
-#include "WinDllMacros.h"
 #include "Utils.h"
-#include <map>
 
 class IFormFactor;
 class IInterferenceFunction;
diff --git a/Core/Tools/SampleMaterialVisitor.cpp b/Core/Tools/SampleMaterialVisitor.cpp
index 969e36c413d..438645853e3 100644
--- a/Core/Tools/SampleMaterialVisitor.cpp
+++ b/Core/Tools/SampleMaterialVisitor.cpp
@@ -14,10 +14,7 @@
 // ************************************************************************** //
 
 #include "SampleMaterialVisitor.h"
-#include "IMaterial.h"
 #include "Layer.h"
-#include "Particle.h"
-#include "ParticleComposition.h"
 
 
 void SampleMaterialVisitor::clear()
diff --git a/Core/Tools/SampleMaterialVisitor.h b/Core/Tools/SampleMaterialVisitor.h
index 62353500a26..67c0596af33 100644
--- a/Core/Tools/SampleMaterialVisitor.h
+++ b/Core/Tools/SampleMaterialVisitor.h
@@ -16,7 +16,6 @@
 #ifndef SAMPLEMATERIALVISITOR_H
 #define SAMPLEMATERIALVISITOR_H
 
-#include "ISampleVisitor.h"
 #include "IMaterial.h"
 
 //! @class SampleMaterialVisitor
@@ -31,7 +30,6 @@ public:
 
     // visiting methods (the order according to the hierarchy as reported by IDE)
 
-    using ISampleVisitor::visit;
 
     void visit(const ISample *sample);
 
diff --git a/Core/Tools/SamplePrintVisitor.cpp b/Core/Tools/SamplePrintVisitor.cpp
index 36c3f9fce22..34959a07501 100644
--- a/Core/Tools/SamplePrintVisitor.cpp
+++ b/Core/Tools/SamplePrintVisitor.cpp
@@ -14,16 +14,11 @@
 // ************************************************************************** //
 
 #include "SamplePrintVisitor.h"
-#include "ISample.h"
 #include "FormFactors.h"
 #include "MultiLayer.h"
-#include "ParticleLayout.h"
-#include "Particle.h"
 #include "ParticleDistribution.h"
 #include "ParticleCoreShell.h"
 #include "InterferenceFunctions.h"
-#include "LayerInterface.h"
-#include <iostream>
 #include "MesoCrystal.h"
 
 void SamplePrintVisitor::visit(const ISample *)
diff --git a/Core/Tools/SamplePrintVisitor.h b/Core/Tools/SamplePrintVisitor.h
index e9cf5983573..7f1e155d14c 100644
--- a/Core/Tools/SamplePrintVisitor.h
+++ b/Core/Tools/SamplePrintVisitor.h
@@ -28,7 +28,6 @@ class BA_CORE_API_ SamplePrintVisitor : public ISampleVisitor
 public:
     SamplePrintVisitor() {}
 
-    using ISampleVisitor::visit;
 
     void visit(const ISample *sample);
 
diff --git a/Core/Tools/Utils.cpp b/Core/Tools/Utils.cpp
index 8dc2570079e..0725f12de21 100644
--- a/Core/Tools/Utils.cpp
+++ b/Core/Tools/Utils.cpp
@@ -14,27 +14,16 @@
 // ************************************************************************** //
 
 #include "Utils.h"
-#include "Exceptions.h"
 
-#include <iostream>
-#include <iomanip>
 #include <boost/regex.hpp>
-#include <boost/algorithm/string/replace.hpp>
 #include <boost/algorithm/string.hpp>
 #include <boost/date_time/posix_time/posix_time.hpp>
-#include <boost/date_time/local_time_adjustor.hpp>
-#include <boost/date_time/c_local_time_adjustor.hpp>
-#include <string>
 #include <thread>
-#include <locale>
 
-#include "Macros.h"
 
 
 #ifdef DEBUG_FPE
-#include <fenv.h>
 #ifdef Q_OS_MAC
-#include "fp_exception_glibc_extension.h"
 #endif
 #endif
 
@@ -128,7 +117,6 @@ std::string Utils::System::getCurrentDateAndTime()
 {
     using boost::posix_time::ptime;
     using boost::posix_time::second_clock;
-    using boost::posix_time::to_simple_string;
     using boost::gregorian::day_clock;
 
     ptime todayUtc(day_clock::universal_day(), second_clock::universal_time().time_of_day());
diff --git a/Core/Tools/Utils.h b/Core/Tools/Utils.h
index f251d9737c8..ecb68854cde 100644
--- a/Core/Tools/Utils.h
+++ b/Core/Tools/Utils.h
@@ -16,12 +16,8 @@
 #ifndef UTILS_H
 #define UTILS_H
 
-#include "WinDllMacros.h"
 #include "Exceptions.h"
 #include <boost/unordered_map.hpp>
-#include <vector>
-#include <map>
-#include <list>
 
 namespace Utils {
 
diff --git a/Core/Tools/VDouble.h b/Core/Tools/VDouble.h
index 2cffd76398a..3c46123703e 100644
--- a/Core/Tools/VDouble.h
+++ b/Core/Tools/VDouble.h
@@ -16,7 +16,6 @@
 #ifndef VDOUBLE_H
 #define VDOUBLE_H
 
-#include <vector>
 
 typedef std::vector<double> vdouble1d_t;
 typedef std::vector<vdouble1d_t> vdouble2d_t;
diff --git a/Core/Tools/VariableBinAxis.cpp b/Core/Tools/VariableBinAxis.cpp
index cf6c53a7917..c05035cfab2 100644
--- a/Core/Tools/VariableBinAxis.cpp
+++ b/Core/Tools/VariableBinAxis.cpp
@@ -14,9 +14,6 @@
 // ************************************************************************** //
 
 #include "VariableBinAxis.h"
-#include "Exceptions.h"
-#include <iostream>
-#include <algorithm>
 #include <iomanip>
 
 
diff --git a/Core/Tools/VariableBinAxis.h b/Core/Tools/VariableBinAxis.h
index 9185f9efa56..f6fa25eb839 100644
--- a/Core/Tools/VariableBinAxis.h
+++ b/Core/Tools/VariableBinAxis.h
@@ -18,7 +18,6 @@
 
 #include "IAxis.h"
 
-using std::size_t;
 
 //! @class VariableBinAxis
 //! @ingroup tools
diff --git a/Core/Tools/fp_exception_glibc_extension.h b/Core/Tools/fp_exception_glibc_extension.h
index ced3f0e4f76..51415d15fa4 100644
--- a/Core/Tools/fp_exception_glibc_extension.h
+++ b/Core/Tools/fp_exception_glibc_extension.h
@@ -13,9 +13,7 @@
 #define FP_EXCEPTION_GLIBC_EXTENSION_H
 
 //#include <fenv.h>
-#include <signal.h>
 #ifdef __cplusplus
-extern "C" {
 #endif
 
   /* GNU C Library:
diff --git a/Fit/FitKernel/FitKernel.cpp b/Fit/FitKernel/FitKernel.cpp
index 3ec672eb521..f4ecfae7a3f 100644
--- a/Fit/FitKernel/FitKernel.cpp
+++ b/Fit/FitKernel/FitKernel.cpp
@@ -14,10 +14,7 @@
 // ************************************************************************** //
 
 #include "FitSuite.h"
-#include "FitParameterLinked.h"
-#include "IMinimizer.h"
 #include "MessageService.h"
-#include "FitSuitePrintObserver.h"
 #include "MinimizerFactory.h"
 #include "FitKernel.h"
 
diff --git a/Fit/FitKernel/FitKernel.h b/Fit/FitKernel/FitKernel.h
index 2c3143faa87..bcddc0c7fdc 100644
--- a/Fit/FitKernel/FitKernel.h
+++ b/Fit/FitKernel/FitKernel.h
@@ -21,11 +21,7 @@
 #include "FitSuiteObjects.h"
 #include "FitSuiteParameters.h"
 #include "FitSuiteStrategies.h"
-#include "ChiSquaredModule.h"
-#include "IObserver.h"
 
-#include <string>
-#include <memory>
 #include <boost/date_time/posix_time/posix_time.hpp>
 #ifndef SWIG
 #include <atomic>
diff --git a/Fit/FitKernel/FitObject.cpp b/Fit/FitKernel/FitObject.cpp
index 004b9ed1ed1..00bb3ddcdaa 100644
--- a/Fit/FitKernel/FitObject.cpp
+++ b/Fit/FitKernel/FitObject.cpp
@@ -15,11 +15,7 @@
 
 #include "FitObject.h"
 #include "GISASSimulation.h"
-#include "Exceptions.h"
-#include "MessageService.h"
 #include "IIntensityNormalizer.h"
-#include <sstream>
-#include <memory>
 
 FitObject::FitObject(const GISASSimulation& simulation, const OutputData<double >& real_data,
     double weight, bool adjust_detector_to_data)
diff --git a/Fit/FitKernel/FitOptions.h b/Fit/FitKernel/FitOptions.h
index 07a0c7917bf..f4b5a8e28b0 100644
--- a/Fit/FitKernel/FitOptions.h
+++ b/Fit/FitKernel/FitOptions.h
@@ -16,9 +16,6 @@
 #ifndef FITOPTIONS_H
 #define FITOPTIONS_H
 
-#include "WinDllMacros.h"
-#include <iostream>
-#include <iomanip>
 
 
 //! @class FitOptions
diff --git a/Fit/FitKernel/FitParameter.cpp b/Fit/FitKernel/FitParameter.cpp
index b51a9bac648..125dea23f0d 100644
--- a/Fit/FitKernel/FitParameter.cpp
+++ b/Fit/FitKernel/FitParameter.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "FitParameter.h"
-#include <iostream>
 #include <iomanip>
 
 FitParameter::FitParameter() : m_value(0), m_step(0), m_error(0)
diff --git a/Fit/FitKernel/FitParameter.h b/Fit/FitKernel/FitParameter.h
index 4480502cad5..6f0f98d2133 100644
--- a/Fit/FitKernel/FitParameter.h
+++ b/Fit/FitKernel/FitParameter.h
@@ -18,8 +18,6 @@
 
 #include "INamed.h"
 #include "AttLimits.h"
-#include <string>
-#include <vector>
 
 //! @class FitParameter
 //! @ingroup fitting_internal
diff --git a/Fit/FitKernel/FitParameterLinked.cpp b/Fit/FitKernel/FitParameterLinked.cpp
index 248b7d3b91e..6f2bd105725 100644
--- a/Fit/FitKernel/FitParameterLinked.cpp
+++ b/Fit/FitKernel/FitParameterLinked.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "FitParameterLinked.h"
-#include "Utils.h"
 
 FitParameterLinked::FitParameterLinked()
 {
diff --git a/Fit/FitKernel/FitParameterLinked.h b/Fit/FitKernel/FitParameterLinked.h
index ff485cbe404..5727b26e2ea 100644
--- a/Fit/FitKernel/FitParameterLinked.h
+++ b/Fit/FitKernel/FitParameterLinked.h
@@ -18,10 +18,6 @@
 
 #include "FitParameter.h"
 #include "ParameterPool.h"
-#include "AttLimits.h"
-#include <string>
-#include <vector>
-#include <iostream>
 
 
 //! @class FitParameterLinked
diff --git a/Fit/FitKernel/FitStrategyAdjustMinimizer.h b/Fit/FitKernel/FitStrategyAdjustMinimizer.h
index 0a574214cd2..db70f2930b9 100644
--- a/Fit/FitKernel/FitStrategyAdjustMinimizer.h
+++ b/Fit/FitKernel/FitStrategyAdjustMinimizer.h
@@ -19,7 +19,6 @@
 #include "IFitStrategy.h"
 #include "IMinimizer.h"
 
-class MinimizerOptions;
 
 //! @class FitStrategyAdjustMinimizer
 //! @ingroup fitting
diff --git a/Fit/FitKernel/FitSuite.cpp b/Fit/FitKernel/FitSuite.cpp
index 470ec3e699a..354f403382c 100644
--- a/Fit/FitKernel/FitSuite.cpp
+++ b/Fit/FitKernel/FitSuite.cpp
@@ -17,7 +17,6 @@
 #include "FitKernel.h"
 #include "FitSuitePrintObserver.h"
 #include "MinimizerFactory.h"
-#include "IHistogram.h"
 
 FitSuite::FitSuite()
     : m_kernel(new FitKernel(this))
diff --git a/Fit/FitKernel/FitSuite.h b/Fit/FitKernel/FitSuite.h
index ec50ebd7b3f..2c73731857d 100644
--- a/Fit/FitKernel/FitSuite.h
+++ b/Fit/FitKernel/FitSuite.h
@@ -18,9 +18,7 @@
 
 #include "IObserver.h"
 #include "IHistogram.h"
-#include "OutputData.h"
 #include "AttLimits.h"
-#include <memory>
 
 class GISASSimulation;
 class IChiSquaredModule;
diff --git a/Fit/FitKernel/FitSuiteFunctions.cpp b/Fit/FitKernel/FitSuiteFunctions.cpp
index 421339ddaa9..f5f79afe618 100644
--- a/Fit/FitKernel/FitSuiteFunctions.cpp
+++ b/Fit/FitKernel/FitSuiteFunctions.cpp
@@ -13,11 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "FitSuiteFunctions.h"
 #include "FitKernel.h"
 #include "MessageService.h"
-#include "Exceptions.h"
-#include <iomanip>
 
 //! evaluate chi squared value
 double FitSuiteChiSquaredFunction::evaluate(const double *pars)
diff --git a/Fit/FitKernel/FitSuiteFunctions.h b/Fit/FitKernel/FitSuiteFunctions.h
index c165c630d8e..22f309c9506 100644
--- a/Fit/FitKernel/FitSuiteFunctions.h
+++ b/Fit/FitKernel/FitSuiteFunctions.h
@@ -17,9 +17,7 @@
 #ifndef FITSUITEFUNCTIONS_H
 #define FITSUITEFUNCTIONS_H
 
-#include "WinDllMacros.h"
 #include <vector>
-#include <cstddef>
 using std::size_t;
 
 class FitKernel;
diff --git a/Fit/FitKernel/FitSuiteObjects.cpp b/Fit/FitKernel/FitSuiteObjects.cpp
index 767304e3059..0a2d931dcd1 100644
--- a/Fit/FitKernel/FitSuiteObjects.cpp
+++ b/Fit/FitKernel/FitSuiteObjects.cpp
@@ -14,9 +14,7 @@
 // ************************************************************************** //
 
 #include "FitSuiteObjects.h"
-#include "FitObject.h"
 #include "ChiSquaredModule.h"
-#include <sstream>
 
 FitSuiteObjects::FitSuiteObjects()
   : m_total_weight(0)
diff --git a/Fit/FitKernel/FitSuiteObjects.h b/Fit/FitKernel/FitSuiteObjects.h
index 0f3ce70e5c2..a7b9c5af076 100644
--- a/Fit/FitKernel/FitSuiteObjects.h
+++ b/Fit/FitKernel/FitSuiteObjects.h
@@ -16,13 +16,8 @@
 #ifndef FITSUITEOBJECTS_H
 #define FITSUITEOBJECTS_H
 
-#include "IParameterized.h"
-#include "OutputData.h"
 #include "FitObject.h"
-#include "FitElement.h"
-#include "GISASSimulation.h"
 
-#include <vector>
 
 class IChiSquaredModule;
 
diff --git a/Fit/FitKernel/FitSuiteParameters.cpp b/Fit/FitKernel/FitSuiteParameters.cpp
index 5c665bcc391..7d11c484d66 100644
--- a/Fit/FitKernel/FitSuiteParameters.cpp
+++ b/Fit/FitKernel/FitSuiteParameters.cpp
@@ -15,9 +15,7 @@
 
 #include "FitSuiteParameters.h"
 #include "FitParameterLinked.h"
-#include "GISASSimulation.h"
 #include "MessageService.h"
-#include "MathFunctions.h"
 
 FitSuiteParameters::FitSuiteParameters()
 {
diff --git a/Fit/FitKernel/FitSuiteParameters.h b/Fit/FitKernel/FitSuiteParameters.h
index 814638a5175..e822cdb57e0 100644
--- a/Fit/FitKernel/FitSuiteParameters.h
+++ b/Fit/FitKernel/FitSuiteParameters.h
@@ -16,12 +16,10 @@
 #ifndef FITSUITEPARAMETERS_H
 #define FITSUITEPARAMETERS_H
 
-#include "Exceptions.h"
 #include "FitParameter.h"
 #include <vector>
 
 class ParameterPool;
-class AttLimits;
 
 //! @class FitSuiteParameters
 //! @ingroup fitting_internal
diff --git a/Fit/FitKernel/FitSuitePrintObserver.h b/Fit/FitKernel/FitSuitePrintObserver.h
index a8e4627f9be..c8b52bc52b1 100644
--- a/Fit/FitKernel/FitSuitePrintObserver.h
+++ b/Fit/FitKernel/FitSuitePrintObserver.h
@@ -18,7 +18,6 @@
 
 #include "IFitObserver.h"
 #include <boost/date_time/posix_time/posix_time.hpp>
-class FitSuite;
 
 //! @class FitSuitePrintObserver
 //! @ingroup fitting_internal
diff --git a/Fit/FitKernel/FitSuiteStrategies.cpp b/Fit/FitKernel/FitSuiteStrategies.cpp
index 06b5f3ade22..edec72975d9 100644
--- a/Fit/FitKernel/FitSuiteStrategies.cpp
+++ b/Fit/FitKernel/FitSuiteStrategies.cpp
@@ -13,10 +13,7 @@
 //
 // ************************************************************************** //
 
-#include "FitSuiteStrategies.h"
 #include "FitKernel.h"
-#include "MessageService.h"
-#include <cassert>
 
 FitSuiteStrategies::FitSuiteStrategies()
     : m_kernel(nullptr), m_current_strategy_index(0)
diff --git a/Fit/FitKernel/FitSuiteStrategies.h b/Fit/FitKernel/FitSuiteStrategies.h
index bca01ca40a7..4bc8f386d79 100644
--- a/Fit/FitKernel/FitSuiteStrategies.h
+++ b/Fit/FitKernel/FitSuiteStrategies.h
@@ -19,7 +19,6 @@
 #include "SafePointerVector.h"
 #include "IFitStrategy.h"
 
-class FitKernel;
 
 //! @class FitSuiteStrategies
 //! @ingroup fitting_internal
diff --git a/Fit/FitKernel/IFitStrategy.cpp b/Fit/FitKernel/IFitStrategy.cpp
index ad728155158..1181cbbd7b0 100644
--- a/Fit/FitKernel/IFitStrategy.cpp
+++ b/Fit/FitKernel/IFitStrategy.cpp
@@ -13,7 +13,6 @@
 //
 // ************************************************************************** //
 
-#include "IFitStrategy.h"
 #include "FitKernel.h"
 
 IFitStrategy::IFitStrategy()
diff --git a/Fit/FitKernel/IFitStrategy.h b/Fit/FitKernel/IFitStrategy.h
index 167f679cca5..c538549d0e6 100644
--- a/Fit/FitKernel/IFitStrategy.h
+++ b/Fit/FitKernel/IFitStrategy.h
@@ -17,7 +17,6 @@
 #define IFITSTRATEGY_H
 
 #include "INamed.h"
-#include <iostream>
 
 class FitKernel;
 
diff --git a/Fit/FitKernel/IMinimizer.h b/Fit/FitKernel/IMinimizer.h
index 072e719e1af..6ae8cdf33d9 100644
--- a/Fit/FitKernel/IMinimizer.h
+++ b/Fit/FitKernel/IMinimizer.h
@@ -16,10 +16,7 @@
 #ifndef IMINIMIZER_H
 #define IMINIMIZER_H
 
-#include "WinDllMacros.h"
-#include "Macros.h"
 #include <functional>
-#include "Exceptions.h"
 #include <vector>
 #include "MinimizerOptions.h"
 
diff --git a/Fit/FitKernel/MinimizerFactory.cpp b/Fit/FitKernel/MinimizerFactory.cpp
index 29fccf98077..2b9067925da 100644
--- a/Fit/FitKernel/MinimizerFactory.cpp
+++ b/Fit/FitKernel/MinimizerFactory.cpp
@@ -21,7 +21,6 @@
 #include "ROOTSimAnMinimizer.h"
 #include "ROOTLMAMinimizer.h"
 #include "ROOTGeneticMinimizer.h"
-#include <iomanip>
 
 // ************************************************************************** //
 // auxiliary class MinimizerCatalogue
diff --git a/Fit/FitKernel/MinimizerFactory.h b/Fit/FitKernel/MinimizerFactory.h
index 4f11e93a1ca..5c6c2b6fc66 100644
--- a/Fit/FitKernel/MinimizerFactory.h
+++ b/Fit/FitKernel/MinimizerFactory.h
@@ -17,9 +17,6 @@
 #define MINIMIZERFACTORY_H
 
 #include "IMinimizer.h"
-#include <string>
-#include <vector>
-#include <map>
 
 
 //! @class MinimizerFactory
diff --git a/Fit/FitKernel/MinimizerLibrary.h b/Fit/FitKernel/MinimizerLibrary.h
index 735ef1e5492..6014843237f 100644
--- a/Fit/FitKernel/MinimizerLibrary.h
+++ b/Fit/FitKernel/MinimizerLibrary.h
@@ -16,9 +16,7 @@
 #ifndef MINIMIZERLIBRARY_H
 #define MINIMIZERLIBRARY_H
 
-#include "WinDllMacros.h"
 #include <list>
-#include <string>
 #include <map>
 
 //! The MinimizerLibrary namespace contains set of classes to form the catalogue of
diff --git a/Fit/FitKernel/MinimizerOptions.cpp b/Fit/FitKernel/MinimizerOptions.cpp
index cfb841e30b8..433fb6fc091 100644
--- a/Fit/FitKernel/MinimizerOptions.cpp
+++ b/Fit/FitKernel/MinimizerOptions.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "MinimizerOptions.h"
-#include <iomanip>
 
 MinimizerOptions::MinimizerOptions()
     : m_tolerance(0.01)
diff --git a/Fit/FitKernel/MinimizerOptions.h b/Fit/FitKernel/MinimizerOptions.h
index c1265a9c7b1..02b5aae9cce 100644
--- a/Fit/FitKernel/MinimizerOptions.h
+++ b/Fit/FitKernel/MinimizerOptions.h
@@ -15,9 +15,7 @@
 
 #ifndef MINIMIZEROPTIONS_H
 #define MINIMIZEROPTIONS_H
-#include "WinDllMacros.h"
 #include "Exceptions.h"
-#include <string>
 #include <map>
 #include <iostream>
 #include <iomanip>
diff --git a/Fit/FitKernel/MinimizerScan.cpp b/Fit/FitKernel/MinimizerScan.cpp
index 03e2925b544..8de0dfabccf 100644
--- a/Fit/FitKernel/MinimizerScan.cpp
+++ b/Fit/FitKernel/MinimizerScan.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "MinimizerScan.h"
-#include <algorithm>
 
 //! Scan minimizer find minimum of chi2 function by equidistant scanning of fit parameters.
 // Only parameters with defined limits (i.e. AttLimits::limited(left, right) )
diff --git a/Fit/FitKernel/MinimizerTest.cpp b/Fit/FitKernel/MinimizerTest.cpp
index 7c8b6c1ced8..bdb88444031 100644
--- a/Fit/FitKernel/MinimizerTest.cpp
+++ b/Fit/FitKernel/MinimizerTest.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "MinimizerTest.h"
-#include "FitParameter.h"
 
 //! run minimization
 void MinimizerTest::minimize()
diff --git a/Fit/FitKernel/MinimizerTest.h b/Fit/FitKernel/MinimizerTest.h
index 48e66423ce2..5e55faa13c1 100644
--- a/Fit/FitKernel/MinimizerTest.h
+++ b/Fit/FitKernel/MinimizerTest.h
@@ -18,7 +18,6 @@
 
 #include "IMinimizer.h"
 #include "FitSuiteParameters.h"
-#include <map>
 
 
 //! @class MinimizerTest
diff --git a/Fit/FitKernel/ROOTGeneticMinimizer.cpp b/Fit/FitKernel/ROOTGeneticMinimizer.cpp
index c2c96151059..7809a6e7549 100644
--- a/Fit/FitKernel/ROOTGeneticMinimizer.cpp
+++ b/Fit/FitKernel/ROOTGeneticMinimizer.cpp
@@ -14,8 +14,6 @@
 // ************************************************************************** //
 
 #include "ROOTGeneticMinimizer.h"
-#include "Math/GenAlgoOptions.h"
-#include "MessageService.h"
 
 
 ROOTGeneticMinimizer::ROOTGeneticMinimizer(const std::string& minimizer_name, const std::string& algo_type)
diff --git a/Fit/FitKernel/ROOTLMAMinimizer.cpp b/Fit/FitKernel/ROOTLMAMinimizer.cpp
index 4580a3a99f2..20f47b2a6f0 100644
--- a/Fit/FitKernel/ROOTLMAMinimizer.cpp
+++ b/Fit/FitKernel/ROOTLMAMinimizer.cpp
@@ -14,7 +14,6 @@
 // ************************************************************************** //
 
 #include "ROOTLMAMinimizer.h"
-#include "Math/GenAlgoOptions.h"
 
 
 ROOTLMAMinimizer::ROOTLMAMinimizer(const std::string& minimizer_name, const std::string& algo_type)
diff --git a/Fit/FitKernel/ROOTMinimizer.cpp b/Fit/FitKernel/ROOTMinimizer.cpp
index 53b93fca2d8..bff2cdbc6e5 100644
--- a/Fit/FitKernel/ROOTMinimizer.cpp
+++ b/Fit/FitKernel/ROOTMinimizer.cpp
@@ -14,16 +14,9 @@
 // ************************************************************************** //
 
 #include "ROOTMinimizer.h"
-#include "Exceptions.h"
-#include "FitSuiteParameters.h"
-#include "Utils.h"
 #include "ROOTMinimizerFunction.h"
-#include <iomanip>
-#include <sstream>
 #include "ROOTMinimizerHelper.h"
-#include "MinimizerOptions.h"
 #include "Math/Minimizer.h"
-#include "Math/Functor.h"
 
 
 
diff --git a/Fit/FitKernel/ROOTMinimizer.h b/Fit/FitKernel/ROOTMinimizer.h
index 0b847b70096..54ac8a79952 100644
--- a/Fit/FitKernel/ROOTMinimizer.h
+++ b/Fit/FitKernel/ROOTMinimizer.h
@@ -17,10 +17,7 @@
 #define ROOTMINIMIZER_H
 
 #include "IMinimizer.h"
-#include "OutputData.h"
-#include "Exceptions.h"
 #include "FitSuiteParameters.h"
-#include <string>
 
 class ROOTMinimizerChiSquaredFunction;
 class ROOTMinimizerGradientFunction;
diff --git a/Fit/FitKernel/ROOTMinimizerFunction.h b/Fit/FitKernel/ROOTMinimizerFunction.h
index 35013240c1d..3832d6e87c9 100644
--- a/Fit/FitKernel/ROOTMinimizerFunction.h
+++ b/Fit/FitKernel/ROOTMinimizerFunction.h
@@ -16,7 +16,6 @@
 #ifndef ROOTMINIMIZERFUNCTION_H
 #define ROOTMINIMIZERFUNCTION_H
 
-#include "IMinimizer.h"
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #include "Math/Functor.h"
diff --git a/Fit/FitKernel/ROOTMinimizerHelper.cpp b/Fit/FitKernel/ROOTMinimizerHelper.cpp
index fdcae4d00c1..ac5c801ddd3 100644
--- a/Fit/FitKernel/ROOTMinimizerHelper.cpp
+++ b/Fit/FitKernel/ROOTMinimizerHelper.cpp
@@ -15,7 +15,6 @@
 
 #include "ROOTMinimizerHelper.h"
 #include "Utils.h"
-#include <boost/lexical_cast.hpp>
 #include "Math/GenAlgoOptions.h"
 #include "Math/Minimizer.h"
 
diff --git a/Fit/StandardFits/IMinimizerTest.cpp b/Fit/StandardFits/IMinimizerTest.cpp
index eb05bf919ef..8bd289a2def 100644
--- a/Fit/StandardFits/IMinimizerTest.cpp
+++ b/Fit/StandardFits/IMinimizerTest.cpp
@@ -13,15 +13,11 @@
 //
 // ************************************************************************** //
 
-#include "Units.h"
-#include "FitKernel.h"
 #include "SampleBuilderFactory.h"
 #include "SimulationFactory.h"
-#include "OutputData.h"
 #include "FitSuite.h"
 #include "IMinimizerTest.h"
 #include "MinimizerFactory.h"
-#include <memory>
 #include <boost/format.hpp>
 
 IMinimizerTest::TestParameter::TestParameter(const std::string &name, double real_value,
diff --git a/Fit/StandardFits/IMinimizerTest.h b/Fit/StandardFits/IMinimizerTest.h
index cd33cdb225d..a864d7dacfa 100644
--- a/Fit/StandardFits/IMinimizerTest.h
+++ b/Fit/StandardFits/IMinimizerTest.h
@@ -18,10 +18,8 @@
 
 #include "IFunctionalTest.h"
 #include "OutputData.h"
-#include <vector>
 #include <memory>
 
-class IMinimizer;
 class FitSuite;
 class ISample;
 class GISASSimulation;
diff --git a/Fit/StandardFits/MinimizerTests.cpp b/Fit/StandardFits/MinimizerTests.cpp
index a9f9c60feb6..28fa11de1d4 100644
--- a/Fit/StandardFits/MinimizerTests.cpp
+++ b/Fit/StandardFits/MinimizerTests.cpp
@@ -15,7 +15,6 @@
 
 #include "MinimizerTests.h"
 #include "FitSuite.h"
-#include "FitKernel.h"
 #include "MinimizerFactory.h"
 
 Minuit2MigradTest::Minuit2MigradTest()
diff --git a/Fit/StandardFits/RectDetectorFitTest.cpp b/Fit/StandardFits/RectDetectorFitTest.cpp
index 2bed77cf34d..0b23846cce1 100644
--- a/Fit/StandardFits/RectDetectorFitTest.cpp
+++ b/Fit/StandardFits/RectDetectorFitTest.cpp
@@ -17,9 +17,7 @@
 #include "GISASSimulation.h"
 #include "RectangularDetector.h"
 #include "Rectangle.h"
-#include "Units.h"
 #include "Histogram2D.h"
-#include <memory>
 
 RectDetectorFitTest::RectDetectorFitTest()
     : IMinimizerTest("Minuit2", "Migrad")
diff --git a/Fit/StandardFits/RectDetectorFitTest.h b/Fit/StandardFits/RectDetectorFitTest.h
index de8c11d19a6..08240b6b35b 100644
--- a/Fit/StandardFits/RectDetectorFitTest.h
+++ b/Fit/StandardFits/RectDetectorFitTest.h
@@ -17,13 +17,7 @@
 #define RECTDETECTORFITTEST_H
 
 #include "IMinimizerTest.h"
-#include "OutputData.h"
-#include <vector>
 
-class IMinimizer;
-class FitSuite;
-class ISample;
-class GISASSimulation;
 
 //! @class RectDetectorFitTest
 //! @ingroup standard_samples
diff --git a/GUI/coregui/Models/AngleProperty.h b/GUI/coregui/Models/AngleProperty.h
index 266c300f057..792fcc4191a 100644
--- a/GUI/coregui/Models/AngleProperty.h
+++ b/GUI/coregui/Models/AngleProperty.h
@@ -18,9 +18,6 @@
 #define ANGLEPROPERTY_H
 
 
-#include "WinDllMacros.h"
-#include <QStringList>
-#include <QMetaType>
 #include <QVariant>
 
 //! The AngleProperty keeps angle value together with units (radians, degrees)
diff --git a/GUI/coregui/Models/ApplicationModels.cpp b/GUI/coregui/Models/ApplicationModels.cpp
index e682b37c8e1..6b725ba1238 100644
--- a/GUI/coregui/Models/ApplicationModels.cpp
+++ b/GUI/coregui/Models/ApplicationModels.cpp
@@ -25,13 +25,7 @@
 #include "IconProvider.h"
 #include "SampleBuilderFactory.h"
 #include "JobItem.h"
-#include "SimulationOptionsItem.h"
-#include "IntensityDataIOFactory.h"
-#include "Histogram2D.h"
-#include "IntensityDataItem.h"
 #include "WarningMessageService.h"
-#include "RealDataItem.h"
-#include <QDebug>
 
 ApplicationModels::ApplicationModels(QObject *parent)
     : QObject(parent)
diff --git a/GUI/coregui/Models/ApplicationModels.h b/GUI/coregui/Models/ApplicationModels.h
index af22d32db73..3bae311b0d6 100644
--- a/GUI/coregui/Models/ApplicationModels.h
+++ b/GUI/coregui/Models/ApplicationModels.h
@@ -17,7 +17,6 @@
 #ifndef APPLICATIONMODELS_H
 #define APPLICATIONMODELS_H
 
-#include "WinDllMacros.h"
 #include <QObject>
 
 class SessionModel;
diff --git a/GUI/coregui/Models/AxesItems.h b/GUI/coregui/Models/AxesItems.h
index 27be7e3f842..9b9858e1609 100644
--- a/GUI/coregui/Models/AxesItems.h
+++ b/GUI/coregui/Models/AxesItems.h
@@ -18,7 +18,6 @@
 #define AXESITEMS_H
 
 #include "SessionItem.h"
-#include "item_constants.h"
 
 class BA_CORE_API_  BasicAxisItem : public SessionItem
 {
diff --git a/GUI/coregui/Models/BeamAngleItems.cpp b/GUI/coregui/Models/BeamAngleItems.cpp
index 8ea82c52f15..54c4183fe20 100644
--- a/GUI/coregui/Models/BeamAngleItems.cpp
+++ b/GUI/coregui/Models/BeamAngleItems.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "BeamAngleItems.h"
-#include "item_constants.h"
 #include "Distributions.h"
 #include "Units.h"
 #include "GUIHelpers.h"
diff --git a/GUI/coregui/Models/BeamAngleItems.h b/GUI/coregui/Models/BeamAngleItems.h
index 85aa934dd00..a4b2ed54e40 100644
--- a/GUI/coregui/Models/BeamAngleItems.h
+++ b/GUI/coregui/Models/BeamAngleItems.h
@@ -17,7 +17,6 @@
 #ifndef BEAMANGLEITEMS_H
 #define BEAMANGLEITEMS_H
 
-#include "WinDllMacros.h"
 #include "BeamDistributionItem.h"
 
 class BA_CORE_API_ BeamAzimuthalAngleItem : public BeamDistributionItem
diff --git a/GUI/coregui/Models/BeamDistributionItem.cpp b/GUI/coregui/Models/BeamDistributionItem.cpp
index 44615c2678c..594a6a3cea5 100644
--- a/GUI/coregui/Models/BeamDistributionItem.cpp
+++ b/GUI/coregui/Models/BeamDistributionItem.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "BeamDistributionItem.h"
-#include "DistributionItem.h"
 #include "Distributions.h"
 #include "ParameterDistribution.h"
 #include "Units.h"
diff --git a/GUI/coregui/Models/BeamDistributionItem.h b/GUI/coregui/Models/BeamDistributionItem.h
index 36f7e420548..af6248e6d6f 100644
--- a/GUI/coregui/Models/BeamDistributionItem.h
+++ b/GUI/coregui/Models/BeamDistributionItem.h
@@ -17,13 +17,10 @@
 #ifndef BEAMDISTRIBUTIONITEM_H
 #define BEAMDISTRIBUTIONITEM_H
 
-#include "SessionItem.h"
 #include "DistributionItem.h"
 
-#include <memory>
 
 class ParameterDistribution;
-class IDistribution1D;
 
 //! The BeamDistributionItem handles wavelength, inclination and azimuthal parameter
 //! distribution for BeamItem
diff --git a/GUI/coregui/Models/BeamItem.cpp b/GUI/coregui/Models/BeamItem.cpp
index 6e2f52efae3..d679086c2aa 100644
--- a/GUI/coregui/Models/BeamItem.cpp
+++ b/GUI/coregui/Models/BeamItem.cpp
@@ -15,17 +15,10 @@
 // ************************************************************************** //
 
 #include "BeamItem.h"
-#include "InterferenceFunctionItems.h"
-#include "ComboProperty.h"
-#include "AngleProperty.h"
-#include "DistributionItem.h"
 #include "ScientificDoubleProperty.h"
 #include "BeamDistributionItem.h"
-#include "Units.h"
-#include "BeamDistributionItem.h"
 #include "BornAgainNamespace.h"
 
-#include <QDebug>
 
 const QString BeamItem::P_INTENSITY = QString::fromStdString(BornAgain::Intensity);
 const QString BeamItem::P_WAVELENGTH = QString::fromStdString(BornAgain::Wavelength);
diff --git a/GUI/coregui/Models/BeamWavelengthItem.h b/GUI/coregui/Models/BeamWavelengthItem.h
index 39b5fca5c19..8d8b87a7524 100644
--- a/GUI/coregui/Models/BeamWavelengthItem.h
+++ b/GUI/coregui/Models/BeamWavelengthItem.h
@@ -17,7 +17,6 @@
 #ifndef BEAMWAVELENGTHITEM_H
 #define BEAMWAVELENGTHITEM_H
 
-#include "WinDllMacros.h"
 #include "BeamDistributionItem.h"
 
 class BA_CORE_API_ BeamWavelengthItem : public BeamDistributionItem
diff --git a/GUI/coregui/Models/ColorProperty.h b/GUI/coregui/Models/ColorProperty.h
index 07cd2f89428..9e3893b9923 100644
--- a/GUI/coregui/Models/ColorProperty.h
+++ b/GUI/coregui/Models/ColorProperty.h
@@ -17,11 +17,7 @@
 #ifndef COLORPROPERTY_H
 #define COLORPROPERTY_H
 
-#include "WinDllMacros.h"
-#include <QMetaType>
-#include <QColor>
 #include <QPixmap>
-#include <QVariant>
 
 //! The ColorProperty for SessionItem and PropertyEditor
 //!
diff --git a/GUI/coregui/Models/ComboProperty.h b/GUI/coregui/Models/ComboProperty.h
index 31fc0ec8bfc..f4c98754bb0 100644
--- a/GUI/coregui/Models/ComboProperty.h
+++ b/GUI/coregui/Models/ComboProperty.h
@@ -17,9 +17,6 @@
 #ifndef COMBOPROPERTY_H
 #define COMBOPROPERTY_H
 
-#include "WinDllMacros.h"
-#include <QStringList>
-#include <QMetaType>
 #include <QVariant>
 
 //! The ComboProperty defines SessionItem's property with a value
diff --git a/GUI/coregui/Models/DetectorItems.cpp b/GUI/coregui/Models/DetectorItems.cpp
index 73c3d7f71f9..9ef272528cf 100644
--- a/GUI/coregui/Models/DetectorItems.cpp
+++ b/GUI/coregui/Models/DetectorItems.cpp
@@ -15,10 +15,7 @@
 // ************************************************************************** //
 
 #include "DetectorItems.h"
-#include "AngleProperty.h"
 #include "MaskItems.h"
-#include "ModelMapper.h"
-#include <QDebug>
 
 const QString DetectorItem::P_DETECTOR = "DetectorType";
 const QString DetectorItem::T_MASKS = "Mask tag";
diff --git a/GUI/coregui/Models/DetectorItems.h b/GUI/coregui/Models/DetectorItems.h
index b5d20e2a2d6..326dbe181bf 100644
--- a/GUI/coregui/Models/DetectorItems.h
+++ b/GUI/coregui/Models/DetectorItems.h
@@ -17,7 +17,6 @@
 #ifndef DETECTORITEMS_H
 #define DETECTORITEMS_H
 
-#include "SessionItem.h"
 #include "SphericalDetectorItem.h"
 #include "RectangularDetectorItem.h"
 
diff --git a/GUI/coregui/Models/DistributionItem.cpp b/GUI/coregui/Models/DistributionItem.cpp
index 2d5dfbec665..41943f8daae 100644
--- a/GUI/coregui/Models/DistributionItem.cpp
+++ b/GUI/coregui/Models/DistributionItem.cpp
@@ -16,10 +16,8 @@
 
 #include "DistributionItem.h"
 #include "Distributions.h"
-#include "ComboProperty.h"
 #include "GUIHelpers.h"
 
-#include <QDebug>
 
 const QString DistributionItem::P_NUMBER_OF_SAMPLES = "Number of samples";
 const QString DistributionItem::P_SIGMA_FACTOR = "Sigma factor";
diff --git a/GUI/coregui/Models/DistributionItem.h b/GUI/coregui/Models/DistributionItem.h
index dc35f3dd18c..1fef0691a79 100644
--- a/GUI/coregui/Models/DistributionItem.h
+++ b/GUI/coregui/Models/DistributionItem.h
@@ -18,9 +18,7 @@
 #define DISTRIBUTIONITEM_H
 
 #include "SessionItem.h"
-#include "PropertyAttribute.h"
 
-#include <memory>
 
 class IDistribution1D;
 
diff --git a/GUI/coregui/Models/DomainFittingBuilder.cpp b/GUI/coregui/Models/DomainFittingBuilder.cpp
index 4f988a0a251..04058cc8fec 100644
--- a/GUI/coregui/Models/DomainFittingBuilder.cpp
+++ b/GUI/coregui/Models/DomainFittingBuilder.cpp
@@ -27,7 +27,6 @@
 #include "MinimizerItem.h"
 #include "IMinimizer.h"
 #include "GUIHelpers.h"
-#include <QDebug>
 
 // FIXME make unique_ptr all along
 
diff --git a/GUI/coregui/Models/DomainFittingBuilder.h b/GUI/coregui/Models/DomainFittingBuilder.h
index 4e51eb13e24..ea53aa63f09 100644
--- a/GUI/coregui/Models/DomainFittingBuilder.h
+++ b/GUI/coregui/Models/DomainFittingBuilder.h
@@ -17,7 +17,6 @@
 #ifndef DOMAINFITTINGBUILDER_H
 #define DOMAINFITTINGBUILDER_H
 
-#include <QString>
 #include <memory>
 
 class JobItem;
diff --git a/GUI/coregui/Models/DomainObjectBuilder.cpp b/GUI/coregui/Models/DomainObjectBuilder.cpp
index f6c45a23f31..e9f265b15ac 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.cpp
+++ b/GUI/coregui/Models/DomainObjectBuilder.cpp
@@ -17,28 +17,11 @@
 #include "DomainObjectBuilder.h"
 #include "TransformToDomain.h"
 #include "GUIHelpers.h"
-#include "ParticleCoreShellItem.h"
-#include "Samples.h"
-#include "Instrument.h"
-#include "InterferenceFunctions.h"
-#include "SessionItem.h"
-#include "ParticleCoreShell.h"
 #include "LayerItem.h"
-#include "TransformationItem.h"
-#include "VectorItem.h"
-#include "RotationItems.h"
 #include "ParticleDistributionItem.h"
-#include "ParticleDistribution.h"
-#include "Distributions.h"
 #include "ComboProperty.h"
-#include "MultiLayerItem.h"
-#include "DistributionItem.h"
-#include "ParticleItem.h"
-#include "ParticleCompositionItem.h"
 #include "ParticleLayoutItem.h"
 
-#include <QDebug>
-#include <memory>
 
 std::unique_ptr<MultiLayer> DomainObjectBuilder::buildMultiLayer(const SessionItem &multilayer_item) const
 {
diff --git a/GUI/coregui/Models/DomainObjectBuilder.h b/GUI/coregui/Models/DomainObjectBuilder.h
index eb78bcf7ac4..350d7c37f37 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.h
+++ b/GUI/coregui/Models/DomainObjectBuilder.h
@@ -17,25 +17,16 @@
 #ifndef DOMAINOBJECTBUILDER_H
 #define DOMAINOBJECTBUILDER_H
 
-#include "WinDllMacros.h"
 
-#include <QString>
 #include <memory>
 
-class ISample;
 class Instrument;
 class MultiLayer;
 class Layer;
 class ParticleLayout;
-class IParticle;
-class Particle;
 class IInterferenceFunction;
 class Beam;
-class ParticleCoreShell;
-class ParticleComposition;
-class ParticleDistribution;
 class SessionItem;
-class LayerRoughness;
 
 class BA_CORE_API_ DomainObjectBuilder
 {
diff --git a/GUI/coregui/Models/DomainSimulationBuilder.cpp b/GUI/coregui/Models/DomainSimulationBuilder.cpp
index 9589fa2eccf..576f661eeef 100644
--- a/GUI/coregui/Models/DomainSimulationBuilder.cpp
+++ b/GUI/coregui/Models/DomainSimulationBuilder.cpp
@@ -15,12 +15,7 @@
 // ************************************************************************** //
 
 #include "DomainSimulationBuilder.h"
-#include "SampleModel.h"
-#include "DocumentModel.h"
-#include "InstrumentModel.h"
-#include "Instrument.h"
 #include "InstrumentItem.h"
-#include "MultiLayer.h"
 #include "MultiLayerItem.h"
 #include "BeamItem.h"
 #include "DetectorItems.h"
@@ -28,8 +23,6 @@
 #include "TransformToDomain.h"
 #include "SimulationOptionsItem.h"
 #include "GUIHelpers.h"
-#include <QDebug>
-#include <memory>
 
 
 //! Creates domain simulation from sample and instrument items.
diff --git a/GUI/coregui/Models/DomainSimulationBuilder.h b/GUI/coregui/Models/DomainSimulationBuilder.h
index f5d8082ae62..e30292f992b 100644
--- a/GUI/coregui/Models/DomainSimulationBuilder.h
+++ b/GUI/coregui/Models/DomainSimulationBuilder.h
@@ -17,15 +17,11 @@
 #ifndef DOMAINSIMULATIONBUILDER_H
 #define DOMAINSIMULATIONBUILDER_H
 
-#include <QString>
 
 class GISASSimulation;
-class SampleModel;
-class InstrumentModel;
 class MultiLayerItem;
 class InstrumentItem;
 class SimulationOptionsItem;
-class DocumentModel;
 
 //! The DomainSimulationBuilder class builds the domain simulation
 //! from instrument and sample models.
diff --git a/GUI/coregui/Models/FTDecayFunctionItems.cpp b/GUI/coregui/Models/FTDecayFunctionItems.cpp
index 3cf5fc6d004..e29a76ed198 100644
--- a/GUI/coregui/Models/FTDecayFunctionItems.cpp
+++ b/GUI/coregui/Models/FTDecayFunctionItems.cpp
@@ -15,8 +15,6 @@
 // ************************************************************************** //
 
 #include "FTDecayFunctionItems.h"
-#include "item_constants.h"
-#include "Units.h"
 
 const QString FTDecayFunction1DItem::P_DECAY_LENGTH = "Decay Length";
 const QString FTDecayFunction1DVoigtItem::P_ETA = "Eta";
diff --git a/GUI/coregui/Models/FTDistributionItems.cpp b/GUI/coregui/Models/FTDistributionItems.cpp
index 839b54bc992..eca4cff07bb 100644
--- a/GUI/coregui/Models/FTDistributionItems.cpp
+++ b/GUI/coregui/Models/FTDistributionItems.cpp
@@ -15,8 +15,6 @@
 // ************************************************************************** //
 
 #include "FTDistributionItems.h"
-#include "item_constants.h"
-#include "Units.h"
 
 using namespace Constants;
 
diff --git a/GUI/coregui/Models/FilterPropertyProxy.h b/GUI/coregui/Models/FilterPropertyProxy.h
index 2d7bbec27dd..9d0497a8322 100644
--- a/GUI/coregui/Models/FilterPropertyProxy.h
+++ b/GUI/coregui/Models/FilterPropertyProxy.h
@@ -16,7 +16,6 @@
 #ifndef FILTERPROPERTYPROXY_H
 #define FILTERPROPERTYPROXY_H
 
-#include "WinDllMacros.h"
 
 #include <QSortFilterProxyModel>
 
diff --git a/GUI/coregui/Models/FitParameterHelper.h b/GUI/coregui/Models/FitParameterHelper.h
index ad6cbfd2f03..3117aa8fa02 100644
--- a/GUI/coregui/Models/FitParameterHelper.h
+++ b/GUI/coregui/Models/FitParameterHelper.h
@@ -17,14 +17,11 @@
 #ifndef FITPARAMETERHELPER_H
 #define FITPARAMETERHELPER_H
 
-#include "WinDllMacros.h"
-#include <QMap>
 #include <QStringList>
 
 class ParameterItem;
 class FitParameterItem;
 class FitParameterContainerItem;
-class JobItem;
 
 //! The FitParameterHelper class contains set of convenience static methods to handle
 //! various fitting items in given JobItem.
diff --git a/GUI/coregui/Models/FitParameterItems.cpp b/GUI/coregui/Models/FitParameterItems.cpp
index 8505e0a6b6a..48872a20e1c 100644
--- a/GUI/coregui/Models/FitParameterItems.cpp
+++ b/GUI/coregui/Models/FitParameterItems.cpp
@@ -17,12 +17,8 @@
 #include "FitParameterItems.h"
 #include "ComboProperty.h"
 #include "ModelPath.h"
-#include "SessionModel.h"
-#include "FitParameterHelper.h"
 #include "ParameterTreeItems.h"
-#include "AttLimits.h"
 #include "GUIHelpers.h"
-#include <QDebug>
 
 namespace
 {
diff --git a/GUI/coregui/Models/FitParameterItems.h b/GUI/coregui/Models/FitParameterItems.h
index 118be93fc4f..1e0ed6f1462 100644
--- a/GUI/coregui/Models/FitParameterItems.h
+++ b/GUI/coregui/Models/FitParameterItems.h
@@ -18,7 +18,6 @@
 
 #include "SessionItem.h"
 
-class AttLimits;
 
 //! FitParameterItems is a collection of items to define fit parameters in GUI.
 
diff --git a/GUI/coregui/Models/FitParameterProxyModel.cpp b/GUI/coregui/Models/FitParameterProxyModel.cpp
index 54828e56041..36f99e2ac48 100644
--- a/GUI/coregui/Models/FitParameterProxyModel.cpp
+++ b/GUI/coregui/Models/FitParameterProxyModel.cpp
@@ -15,17 +15,12 @@
 // ************************************************************************** //
 
 #include "FitParameterProxyModel.h"
-#include "SessionItem.h"
 #include "FitParameterItems.h"
-#include "SessionModel.h"
 #include "JobModel.h"
 #include "FitParameterHelper.h"
-#include "ParameterTreeItems.h"
 #include "GUIHelpers.h"
 #include "ModelPath.h"
-#include <QColor>
 #include <QMimeData>
-#include <QDebug>
 
 
 FitParameterProxyModel::FitParameterProxyModel(FitParameterContainerItem *fitParContainer, QObject *parent)
diff --git a/GUI/coregui/Models/FitParameterProxyModel.h b/GUI/coregui/Models/FitParameterProxyModel.h
index 61e74ea3fda..48b5bb36bbb 100644
--- a/GUI/coregui/Models/FitParameterProxyModel.h
+++ b/GUI/coregui/Models/FitParameterProxyModel.h
@@ -17,7 +17,6 @@
 #ifndef FITPARAMETERPROXYMODEL_H
 #define FITPARAMETERPROXYMODEL_H
 
-#include "WinDllMacros.h"
 #include <QAbstractItemModel>
 
 class SessionModel;
diff --git a/GUI/coregui/Models/FitSuiteItem.cpp b/GUI/coregui/Models/FitSuiteItem.cpp
index 8641ff4ff02..2f069e65b6f 100644
--- a/GUI/coregui/Models/FitSuiteItem.cpp
+++ b/GUI/coregui/Models/FitSuiteItem.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "FitSuiteItem.h"
-#include "FitSuite.h"
 #include "FitParameterItems.h"
 #include "MinimizerItem.h"
 
diff --git a/GUI/coregui/Models/FitSuiteItem.h b/GUI/coregui/Models/FitSuiteItem.h
index b081cfa39d8..195d45c8cfb 100644
--- a/GUI/coregui/Models/FitSuiteItem.h
+++ b/GUI/coregui/Models/FitSuiteItem.h
@@ -19,7 +19,6 @@
 
 #include "SessionItem.h"
 
-class FitSuite;
 class FitParameterContainerItem;
 class MinimizerContainerItem;
 
diff --git a/GUI/coregui/Models/FormFactorItems.cpp b/GUI/coregui/Models/FormFactorItems.cpp
index c56a7379855..66bae4d74ba 100644
--- a/GUI/coregui/Models/FormFactorItems.cpp
+++ b/GUI/coregui/Models/FormFactorItems.cpp
@@ -16,9 +16,7 @@
 
 #include "FormFactorItems.h"
 #include "FormFactors.h"
-#include "Units.h"
 #include "GUIHelpers.h"
-#include "BornAgainNamespace.h"
 
 /* ------------------------------------------------ */
 
diff --git a/GUI/coregui/Models/FormFactorItems.h b/GUI/coregui/Models/FormFactorItems.h
index 8d4c2c12cfc..aef4c6de839 100644
--- a/GUI/coregui/Models/FormFactorItems.h
+++ b/GUI/coregui/Models/FormFactorItems.h
@@ -19,7 +19,6 @@
 
 #include "SessionItem.h"
 
-#include <memory>
 
 class IFormFactor;
 
diff --git a/GUI/coregui/Models/GUIExamplesFactory.cpp b/GUI/coregui/Models/GUIExamplesFactory.cpp
index 2dc96877369..48dcea8a403 100644
--- a/GUI/coregui/Models/GUIExamplesFactory.cpp
+++ b/GUI/coregui/Models/GUIExamplesFactory.cpp
@@ -17,13 +17,6 @@
 #include "GUIExamplesFactory.h"
 #include "GUIObjectBuilder.h"
 #include "SampleBuilderFactory.h"
-#include "SimulationFactory.h"
-#include "InstrumentModel.h"
-#include "SampleModel.h"
-#include "GUIHelpers.h"
-#include "GISASSimulation.h"
-#include <memory>
-#include <QDebug>
 
 //! Defines correspondance between example name and real name of simulation from SimulationFactory
 QMap<QString, QString > init_NameToRegistry()
diff --git a/GUI/coregui/Models/GUIExamplesFactory.h b/GUI/coregui/Models/GUIExamplesFactory.h
index cc7275c5d0e..e056e47f25b 100644
--- a/GUI/coregui/Models/GUIExamplesFactory.h
+++ b/GUI/coregui/Models/GUIExamplesFactory.h
@@ -17,12 +17,9 @@
 #ifndef GUIEXAMPLESFACTORY_H
 #define GUIEXAMPLESFACTORY_H
 
-#include "WinDllMacros.h"
 #include <QMap>
-#include <QString>
 
 class SessionItem;
-class InstrumentModel;
 class SampleModel;
 
 //! Class that generates GUI model from
diff --git a/GUI/coregui/Models/GUIObjectBuilder.cpp b/GUI/coregui/Models/GUIObjectBuilder.cpp
index f15b1da00fa..e42f450b0d9 100644
--- a/GUI/coregui/Models/GUIObjectBuilder.cpp
+++ b/GUI/coregui/Models/GUIObjectBuilder.cpp
@@ -17,7 +17,6 @@
 #include "GUIObjectBuilder.h"
 #include "InstrumentModel.h"
 #include "SampleModel.h"
-#include "Units.h"
 #include "LayerItem.h"
 #include "BeamItem.h"
 #include "DetectorItems.h"
@@ -28,21 +27,13 @@
 #include "ParticleItem.h"
 #include "TransformationItem.h"
 #include "FormFactorItems.h"
-#include "InterferenceFunctionItems.h"
 #include "TransformFromDomain.h"
 #include "ComboProperty.h"
 #include "GUIHelpers.h"
-#include "ParticleCoreShell.h"
 #include "ParticleCoreShellItem.h"
-#include "LayerRoughnessItems.h"
 #include "VectorItem.h"
 #include "ParticleLayoutItem.h"
-#include "AngleProperty.h"
-#include "ConstKBinAxis.h"
-#include "FixedBinAxis.h"
 #include "RotationItems.h"
-#include "AxesItems.h"
-#include "ParticleDistribution.h"
 #include "ParticleDistributionItem.h"
 #include "DocumentModel.h"
 #include "SimulationOptionsItem.h"
diff --git a/GUI/coregui/Models/GUIObjectBuilder.h b/GUI/coregui/Models/GUIObjectBuilder.h
index 5aa3a32233c..40b806252f7 100644
--- a/GUI/coregui/Models/GUIObjectBuilder.h
+++ b/GUI/coregui/Models/GUIObjectBuilder.h
@@ -17,11 +17,8 @@
 #ifndef GUIOBJECTBUILDER_H
 #define GUIOBJECTBUILDER_H
 
-#include "ISampleVisitor.h"
 #include "Samples.h"
-#include "InterferenceFunctions.h"
 #include "MaterialProperty.h"
-#include <QMap>
 
 class InstrumentModel;
 class SampleModel;
@@ -51,7 +48,6 @@ public:
     SessionItem *populateDocumentModel(DocumentModel *documentModel,
                                                const GISASSimulation &simulation);
 
-    using ISampleVisitor::visit;
 
     void visit(const ParticleLayout *);
 
diff --git a/GUI/coregui/Models/GroupItem.cpp b/GUI/coregui/Models/GroupItem.cpp
index dbbe23a613b..eaa451df9e7 100644
--- a/GUI/coregui/Models/GroupItem.cpp
+++ b/GUI/coregui/Models/GroupItem.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "GroupItem.h"
-#include <QDebug>
 
 const QString GroupItem::T_ITEMS = "Item tag";
 
diff --git a/GUI/coregui/Models/GroupProperty.cpp b/GUI/coregui/Models/GroupProperty.cpp
index f9e8d0f2d9b..fe608e7c900 100644
--- a/GUI/coregui/Models/GroupProperty.cpp
+++ b/GUI/coregui/Models/GroupProperty.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "GroupProperty.h"
-#include "GUIHelpers.h"
 #include "ItemFactory.h"
 #include <QDebug>
 
diff --git a/GUI/coregui/Models/GroupProperty.h b/GUI/coregui/Models/GroupProperty.h
index fb6dc6680a8..122839c2b01 100644
--- a/GUI/coregui/Models/GroupProperty.h
+++ b/GUI/coregui/Models/GroupProperty.h
@@ -17,12 +17,7 @@
 #ifndef GROUPPROPERTY_H
 #define GROUPPROPERTY_H
 
-#include "WinDllMacros.h"
-#include "item_constants.h"
 
-#include <map>
-#include <QString>
-#include <QMetaType>
 #include <QSharedPointer>
 
 class SessionItem;
diff --git a/GUI/coregui/Models/GroupPropertyRegistry.cpp b/GUI/coregui/Models/GroupPropertyRegistry.cpp
index c77df995721..e172ac1fe06 100644
--- a/GUI/coregui/Models/GroupPropertyRegistry.cpp
+++ b/GUI/coregui/Models/GroupPropertyRegistry.cpp
@@ -15,10 +15,6 @@
 // ************************************************************************** //
 
 #include "GroupPropertyRegistry.h"
-#include "GroupProperty.h"
-#include "GUIHelpers.h"
-#include "item_constants.h"
-#include <QDebug>
 
 namespace
 {
diff --git a/GUI/coregui/Models/GroupPropertyRegistry.h b/GUI/coregui/Models/GroupPropertyRegistry.h
index 7354cb183e1..87326081b93 100644
--- a/GUI/coregui/Models/GroupPropertyRegistry.h
+++ b/GUI/coregui/Models/GroupPropertyRegistry.h
@@ -17,14 +17,10 @@
 #ifndef GROUPPROPERTYREGISTRY_H
 #define GROUPPROPERTYREGISTRY_H
 
-#include "WinDllMacros.h"
 #include "item_constants.h"
 #include "GroupProperty.h"
 
-#include <map>
-#include <QString>
 
-class SessionItem;
 
 //! The GroupPropertyRegistry is responsible for constructing GroupProperty objects
 //! according to the given name of the group.
diff --git a/GUI/coregui/Models/IconProvider.cpp b/GUI/coregui/Models/IconProvider.cpp
index d30e4baa677..7af53e2c1cb 100644
--- a/GUI/coregui/Models/IconProvider.cpp
+++ b/GUI/coregui/Models/IconProvider.cpp
@@ -15,10 +15,7 @@
 // ************************************************************************** //
 
 #include "IconProvider.h"
-#include "item_constants.h"
-#include "SessionItem.h"
 #include "MaterialItem.h"
-#include <QPixmap>
 
 QIcon IconProvider::icon(const SessionItem *item)
 {
diff --git a/GUI/coregui/Models/IconProvider.h b/GUI/coregui/Models/IconProvider.h
index 5421000d650..8b128eb4410 100644
--- a/GUI/coregui/Models/IconProvider.h
+++ b/GUI/coregui/Models/IconProvider.h
@@ -17,9 +17,7 @@
 #ifndef ICONPROVIDER_H
 #define ICONPROVIDER_H
 
-#include "WinDllMacros.h"
 #include <QIcon>
-#include <QString>
 
 class SessionItem;
 
diff --git a/GUI/coregui/Models/InstrumentModel.h b/GUI/coregui/Models/InstrumentModel.h
index c82e2661ae8..628771568b2 100644
--- a/GUI/coregui/Models/InstrumentModel.h
+++ b/GUI/coregui/Models/InstrumentModel.h
@@ -18,7 +18,6 @@
 #define INSTRUMENTMODEL_H
 
 #include "SessionModel.h"
-#include <QStringList>
 
 class InstrumentItem;
 
diff --git a/GUI/coregui/Models/IntensityDataItem.cpp b/GUI/coregui/Models/IntensityDataItem.cpp
index 8109efca407..197cbefe227 100644
--- a/GUI/coregui/Models/IntensityDataItem.cpp
+++ b/GUI/coregui/Models/IntensityDataItem.cpp
@@ -16,16 +16,9 @@
 
 #include "IntensityDataItem.h"
 #include "ComboProperty.h"
-#include "AngleProperty.h"
 #include "AxesItems.h"
-#include "Units.h"
 #include "GUIHelpers.h"
-#include "GISASSimulation.h"
 #include "BornAgainNamespace.h"
-#include "IDetector2D.h"
-#include "SphericalDetector.h"
-#include "RectangularDetector.h"
-#include <QDebug>
 
 const QString IntensityDataItem::P_AXES_UNITS = "Axes Units";
 const QString IntensityDataItem::P_TITLE = "Title";
diff --git a/GUI/coregui/Models/IntensityDataItem.h b/GUI/coregui/Models/IntensityDataItem.h
index edb2140d83a..5a4632484c5 100644
--- a/GUI/coregui/Models/IntensityDataItem.h
+++ b/GUI/coregui/Models/IntensityDataItem.h
@@ -18,12 +18,8 @@
 #define INTENSITYDATAITEM_H
 
 #include "SessionItem.h"
-#include "OutputData.h"
 #include "IDetector2D.h"
-#include <QMap>
-#include <QPair>
 
-class GISASSimulation;
 class BasicAxisItem;
 
 
diff --git a/GUI/coregui/Models/InterferenceFunctionItems.cpp b/GUI/coregui/Models/InterferenceFunctionItems.cpp
index afe4306c0f5..18f0ec10259 100644
--- a/GUI/coregui/Models/InterferenceFunctionItems.cpp
+++ b/GUI/coregui/Models/InterferenceFunctionItems.cpp
@@ -18,7 +18,6 @@
 #include "Units.h"
 #include "BornAgainNamespace.h"
 
-#include <QDebug>
 
 const QString InterferenceFunctionRadialParaCrystalItem::P_PEAK_DISTANCE =
         QString::fromStdString(BornAgain::PeakDistance);
diff --git a/GUI/coregui/Models/ItemFactory.cpp b/GUI/coregui/Models/ItemFactory.cpp
index 23a28af180e..709822f98d9 100644
--- a/GUI/coregui/Models/ItemFactory.cpp
+++ b/GUI/coregui/Models/ItemFactory.cpp
@@ -24,7 +24,6 @@
 #include "ParticleCoreShellItem.h"
 #include "ParticleCompositionItem.h"
 #include "ParticleDistributionItem.h"
-#include "DistributionItem.h"
 #include "InterferenceFunctionItems.h"
 #include "InstrumentItem.h"
 #include "BeamItem.h"
@@ -45,7 +44,6 @@
 #include "IntensityDataItem.h"
 #include "AxesItems.h"
 #include "ResolutionFunctionItems.h"
-#include "BeamDistributionItem.h"
 #include "BeamWavelengthItem.h"
 #include "BeamAngleItems.h"
 #include "MaskItems.h"
diff --git a/GUI/coregui/Models/ItemFactory.h b/GUI/coregui/Models/ItemFactory.h
index 29ea68f9cb1..ded70ef05d7 100644
--- a/GUI/coregui/Models/ItemFactory.h
+++ b/GUI/coregui/Models/ItemFactory.h
@@ -17,8 +17,6 @@
 #ifndef ITEMFACTORY_H
 #define ITEMFACTORY_H
 
-#include <QMap>
-#include <QStringList>
 #include "SessionItem.h"
 
 class BA_CORE_API_ ItemFactory
diff --git a/GUI/coregui/Models/JobItem.cpp b/GUI/coregui/Models/JobItem.cpp
index b3bb925f92a..3d6f280e8e9 100644
--- a/GUI/coregui/Models/JobItem.cpp
+++ b/GUI/coregui/Models/JobItem.cpp
@@ -17,8 +17,6 @@
 #include "JobItem.h"
 #include "ComboProperty.h"
 #include "IntensityDataItem.h"
-#include "SampleModel.h"
-#include "InstrumentModel.h"
 #include "MultiLayerItem.h"
 #include "InstrumentItem.h"
 #include "JobItemHelper.h"
@@ -26,9 +24,7 @@
 #include "GUIHelpers.h"
 #include "FitSuiteItem.h"
 #include "ParameterTreeItems.h"
-#include "FitParameterItems.h"
 #include "RealDataItem.h"
-#include <QDateTime>
 #include <QDebug>
 
 namespace {
diff --git a/GUI/coregui/Models/JobItem.h b/GUI/coregui/Models/JobItem.h
index 6f28d10582e..7aa144fa2a6 100644
--- a/GUI/coregui/Models/JobItem.h
+++ b/GUI/coregui/Models/JobItem.h
@@ -19,8 +19,6 @@
 
 #include "SessionItem.h"
 class IntensityDataItem;
-class SampleModel;
-class InstrumentModel;
 class GISASSimulation;
 class MultiLayerItem;
 class InstrumentItem;
diff --git a/GUI/coregui/Models/JobItemHelper.cpp b/GUI/coregui/Models/JobItemHelper.cpp
index abef0a27186..46dec6d92c4 100644
--- a/GUI/coregui/Models/JobItemHelper.cpp
+++ b/GUI/coregui/Models/JobItemHelper.cpp
@@ -15,20 +15,16 @@
 // ************************************************************************** //
 
 #include "JobItemHelper.h"
-#include "item_constants.h"
 #include "IntensityDataItem.h"
 #include "GISASSimulation.h"
 #include "ComboProperty.h"
 #include "DomainObjectBuilder.h"
 #include "InstrumentItem.h"
-#include "Instrument.h"
-#include "OutputData.h"
 #include "GUIHelpers.h"
 #include "JobItem.h"
 #include "RealDataItem.h"
 #include "IntensityDataIOFactory.h"
 #include <QFileInfo>
-#include <QDebug>
 
 namespace
 {
diff --git a/GUI/coregui/Models/JobItemHelper.h b/GUI/coregui/Models/JobItemHelper.h
index 059169b8f4d..a4e35c80acb 100644
--- a/GUI/coregui/Models/JobItemHelper.h
+++ b/GUI/coregui/Models/JobItemHelper.h
@@ -17,7 +17,6 @@
 #ifndef JOBITEMHELPER_H
 #define JOBITEMHELPER_H
 
-#include "WinDllMacros.h"
 #include "IDetector2D.h"
 #include <QMap>
 
diff --git a/GUI/coregui/Models/JobModel.cpp b/GUI/coregui/Models/JobModel.cpp
index 624b3cd9962..1b441431845 100644
--- a/GUI/coregui/Models/JobModel.cpp
+++ b/GUI/coregui/Models/JobModel.cpp
@@ -17,10 +17,7 @@
 #include "JobModel.h"
 #include "JobQueueData.h"
 #include "JobItem.h"
-#include "ComboProperty.h"
 #include "GUIHelpers.h"
-#include "SampleModel.h"
-#include "InstrumentModel.h"
 #include "MultiLayerItem.h"
 #include "InstrumentItem.h"
 #include "RealDataItem.h"
@@ -32,7 +29,6 @@
 #include "FitSuiteItem.h"
 #include <QUuid>
 #include <QDebug>
-#include <QItemSelection>
 
 
 JobModel::JobModel(QObject *parent)
diff --git a/GUI/coregui/Models/JobModel.h b/GUI/coregui/Models/JobModel.h
index a2ed6d6ad6e..dc1ef91e54c 100644
--- a/GUI/coregui/Models/JobModel.h
+++ b/GUI/coregui/Models/JobModel.h
@@ -19,9 +19,6 @@
 #include "SessionModel.h"
 class JobQueueData;
 class JobItem;
-class SampleModel;
-class InstrumentModel;
-class QItemSelection;
 class MultiLayerItem;
 class InstrumentItem;
 class RealDataItem;
diff --git a/GUI/coregui/Models/JobQueueData.cpp b/GUI/coregui/Models/JobQueueData.cpp
index a69b0b2bca0..9f03fdbfa06 100644
--- a/GUI/coregui/Models/JobQueueData.cpp
+++ b/GUI/coregui/Models/JobQueueData.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "JobQueueData.h"
-#include "GISASSimulation.h"
 #include "JobItem.h"
 #include "JobModel.h"
 #include "JobWorker.h"
diff --git a/GUI/coregui/Models/JobQueueData.h b/GUI/coregui/Models/JobQueueData.h
index 38d15348b3f..6599eaef5f0 100644
--- a/GUI/coregui/Models/JobQueueData.h
+++ b/GUI/coregui/Models/JobQueueData.h
@@ -17,16 +17,13 @@
 #ifndef JOBQUEUEDATA_H
 #define JOBQUEUEDATA_H
 
-#include "WinDllMacros.h"
 #include <QObject>
-#include <QString>
 #include <QMap>
 
 class JobItem;
 class JobModel;
 class GISASSimulation;
 class JobWorker;
-class QThread;
 
 //! The JobQueueData class holds all objects/logic to run simulation in a thread.
 
diff --git a/GUI/coregui/Models/JobWorker.cpp b/GUI/coregui/Models/JobWorker.cpp
index 644eb2cc15b..b725b9af1a1 100644
--- a/GUI/coregui/Models/JobWorker.cpp
+++ b/GUI/coregui/Models/JobWorker.cpp
@@ -16,11 +16,7 @@
 
 #include "JobWorker.h"
 #include "GISASSimulation.h"
-#include "ProgressHandler.h"
-#include "ThreadInfo.h"
 #include "item_constants.h"
-#include <functional>
-#include <QTimer>
 #include <QDateTime>
 #include <QDebug>
 
diff --git a/GUI/coregui/Models/JobWorker.h b/GUI/coregui/Models/JobWorker.h
index db0da403677..ad99a8f2ffd 100644
--- a/GUI/coregui/Models/JobWorker.h
+++ b/GUI/coregui/Models/JobWorker.h
@@ -17,9 +17,7 @@
 #ifndef JOBWORKER_H
 #define JOBWORKER_H
 
-#include "WinDllMacros.h"
 #include <QObject>
-#include <QString>
 
 class GISASSimulation;
 
diff --git a/GUI/coregui/Models/LatticeTypeItems.cpp b/GUI/coregui/Models/LatticeTypeItems.cpp
index 6df88822746..786bdb54dc1 100644
--- a/GUI/coregui/Models/LatticeTypeItems.cpp
+++ b/GUI/coregui/Models/LatticeTypeItems.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "LatticeTypeItems.h"
-#include "Units.h"
 
 const QString BasicLatticeTypeItem::P_LATTICE_LENGTH1 = "Lattice_length_1";
 const QString BasicLatticeTypeItem::P_LATTICE_LENGTH2 = "Lattice_length_2";
diff --git a/GUI/coregui/Models/LayerItem.cpp b/GUI/coregui/Models/LayerItem.cpp
index 2a765ecd207..54d85e97ab1 100644
--- a/GUI/coregui/Models/LayerItem.cpp
+++ b/GUI/coregui/Models/LayerItem.cpp
@@ -16,8 +16,6 @@
 
 #include "LayerItem.h"
 #include "MaterialUtils.h"
-#include "ComboProperty.h"
-#include "ItemFactory.h"
 
 const QString LayerItem::P_THICKNESS = "Thickness";
 const QString LayerItem::P_ROUGHNESS = "Top roughness";
diff --git a/GUI/coregui/Models/LayerRoughnessItems.cpp b/GUI/coregui/Models/LayerRoughnessItems.cpp
index f67571e298b..c6129e7298c 100644
--- a/GUI/coregui/Models/LayerRoughnessItems.cpp
+++ b/GUI/coregui/Models/LayerRoughnessItems.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "LayerRoughnessItems.h"
-#include "ScientificDoubleProperty.h"
 
 
 LayerZeroRoughnessItem::LayerZeroRoughnessItem()
diff --git a/GUI/coregui/Models/MaskItems.cpp b/GUI/coregui/Models/MaskItems.cpp
index 01752e12996..84031cabcc7 100644
--- a/GUI/coregui/Models/MaskItems.cpp
+++ b/GUI/coregui/Models/MaskItems.cpp
@@ -20,7 +20,6 @@
 #include "Line.h"
 #include "Ellipse.h"
 #include "InfinitePlane.h"
-#include "Units.h"
 #include "GUIHelpers.h"
 
 
diff --git a/GUI/coregui/Models/MaskItems.h b/GUI/coregui/Models/MaskItems.h
index a050554ddc8..df96cacbb1b 100644
--- a/GUI/coregui/Models/MaskItems.h
+++ b/GUI/coregui/Models/MaskItems.h
@@ -18,7 +18,6 @@
 #define MASKITEMS_H
 
 #include "SessionItem.h"
-#include <memory>
 
 namespace Geometry {
 class IShape2D;
diff --git a/GUI/coregui/Models/MaterialItem.cpp b/GUI/coregui/Models/MaterialItem.cpp
index 5beb634e66c..2fc02d20055 100644
--- a/GUI/coregui/Models/MaterialItem.cpp
+++ b/GUI/coregui/Models/MaterialItem.cpp
@@ -15,15 +15,11 @@
 // ************************************************************************** //
 
 #include "MaterialItem.h"
-#include "ColorProperty.h"
 #include "MaterialUtils.h"
 #include "RefractiveIndexItem.h"
-#include "ScientificDoubleProperty.h"
-#include "ComboProperty.h"
 #include "GUIHelpers.h"
 #include "HomogeneousMaterial.h"
 #include <QUuid>
-#include <QDebug>
 
 
 const QString MaterialItem::P_COLOR = "Color";
diff --git a/GUI/coregui/Models/MaterialItem.h b/GUI/coregui/Models/MaterialItem.h
index 3f1879a4713..af048285e37 100644
--- a/GUI/coregui/Models/MaterialItem.h
+++ b/GUI/coregui/Models/MaterialItem.h
@@ -18,7 +18,6 @@
 #define MATERIALITEM_H
 
 #include "SessionItem.h"
-#include <QColor>
 
 class IMaterial;
 
diff --git a/GUI/coregui/Models/MaterialModel.cpp b/GUI/coregui/Models/MaterialModel.cpp
index 1f8331636b7..1e7d9cf7aa1 100644
--- a/GUI/coregui/Models/MaterialModel.cpp
+++ b/GUI/coregui/Models/MaterialModel.cpp
@@ -15,10 +15,8 @@
 // ************************************************************************** //
 
 #include "MaterialModel.h"
-#include "MaterialItem.h"
 #include "RefractiveIndexItem.h"
 #include "MaterialUtils.h"
-#include "MaterialProperty.h"
 #include "IconProvider.h"
 #include <QUuid>
 #include <QDebug>
diff --git a/GUI/coregui/Models/MinimizerItem.cpp b/GUI/coregui/Models/MinimizerItem.cpp
index 3aa89c25120..d5b5d184861 100644
--- a/GUI/coregui/Models/MinimizerItem.cpp
+++ b/GUI/coregui/Models/MinimizerItem.cpp
@@ -17,10 +17,6 @@
 #include "MinimizerItem.h"
 #include "MinimizerItemCatalogue.h"
 #include "MinimizerFactory.h"
-#include "ComboProperty.h"
-#include "IMinimizer.h"
-#include "MinimizerOptions.h"
-#include "GUIHelpers.h"
 #include <QDebug>
 
 // ----------------------------------------------------------------------------
diff --git a/GUI/coregui/Models/MinimizerItem.h b/GUI/coregui/Models/MinimizerItem.h
index 95e594b9285..6626dceaf21 100644
--- a/GUI/coregui/Models/MinimizerItem.h
+++ b/GUI/coregui/Models/MinimizerItem.h
@@ -18,7 +18,6 @@
 #define MINIMIZERITEM_H
 
 #include "SessionItem.h"
-#include <memory>
 
 class IMinimizer;
 
diff --git a/GUI/coregui/Models/MinimizerItemCatalogue.cpp b/GUI/coregui/Models/MinimizerItemCatalogue.cpp
index 018c71e1859..4fe84174876 100644
--- a/GUI/coregui/Models/MinimizerItemCatalogue.cpp
+++ b/GUI/coregui/Models/MinimizerItemCatalogue.cpp
@@ -17,7 +17,6 @@
 #include "MinimizerItemCatalogue.h"
 #include "GUIHelpers.h"
 #include "MinimizerItem.h"
-#include "ComboProperty.h"
 #include "BornAgainNamespace.h"
 
 MinimizerLibrary::Catalogue MinimizerItemCatalogue::m_catalogue = MinimizerLibrary::Catalogue();
diff --git a/GUI/coregui/Models/MinimizerItemCatalogue.h b/GUI/coregui/Models/MinimizerItemCatalogue.h
index e62afff28b1..678cc5b4e69 100644
--- a/GUI/coregui/Models/MinimizerItemCatalogue.h
+++ b/GUI/coregui/Models/MinimizerItemCatalogue.h
@@ -17,10 +17,8 @@
 #ifndef MINIMIZERITEMCATALOGUE_H
 #define MINIMIZERITEMCATALOGUE_H
 
-#include "WinDllMacros.h"
 #include "MinimizerLibrary.h"
 #include "ComboProperty.h"
-#include <QStringList>
 
 class MinimizerItem;
 
diff --git a/GUI/coregui/Models/ModelMapper.cpp b/GUI/coregui/Models/ModelMapper.cpp
index c357e04ce23..998439dfec6 100644
--- a/GUI/coregui/Models/ModelMapper.cpp
+++ b/GUI/coregui/Models/ModelMapper.cpp
@@ -14,12 +14,9 @@
 //
 // ************************************************************************** //
 
-#include "ModelMapper.h"
 #include "SessionModel.h"
-#include "SessionItem.h"
 #include <QDebug>
 
-#include <QModelIndex>
 
 ModelMapper::ModelMapper(QObject *parent)
     : QObject(parent)
diff --git a/GUI/coregui/Models/ModelMapper.h b/GUI/coregui/Models/ModelMapper.h
index 87e61c1cbc2..1fc356aa0d5 100644
--- a/GUI/coregui/Models/ModelMapper.h
+++ b/GUI/coregui/Models/ModelMapper.h
@@ -17,15 +17,10 @@
 #ifndef MODELMAPPER_H
 #define MODELMAPPER_H
 
-#include "WinDllMacros.h"
 
-#include <QObject>
-#include <QVector>
 #include <functional>
 #include <QModelIndex>
-#include <vector>
 
-class QModelIndex;
 class SessionModel;
 class SessionItem;
 
diff --git a/GUI/coregui/Models/ModelPath.cpp b/GUI/coregui/Models/ModelPath.cpp
index 390727de115..28b6f92f49d 100644
--- a/GUI/coregui/Models/ModelPath.cpp
+++ b/GUI/coregui/Models/ModelPath.cpp
@@ -15,15 +15,9 @@
 // ************************************************************************** //
 
 #include "ModelPath.h"
-#include "SessionItem.h"
-#include "GroupProperty.h"
 #include "GroupItem.h"
 #include "ParticleItem.h"
 #include "SessionModel.h"
-#include <QModelIndex>
-#include <QStringList>
-#include <QDebug>
-#include <sstream>
 
 
 std::vector<std::unique_ptr<IParameterTranslator>> ModelPath::m_special_translators;
diff --git a/GUI/coregui/Models/ModelPath.h b/GUI/coregui/Models/ModelPath.h
index 7a8883afbf7..004f6fd49f6 100644
--- a/GUI/coregui/Models/ModelPath.h
+++ b/GUI/coregui/Models/ModelPath.h
@@ -17,15 +17,11 @@
 #ifndef MODELPATH_H
 #define MODELPATH_H
 
-#include "WinDllMacros.h"
 #include "ParameterTranslators.h"
-#include <string>
 #include <vector>
 #include <memory>
 
 class SessionItem;
-class QString;
-class QStringList;
 class QModelIndex;
 class SessionModel;
 
diff --git a/GUI/coregui/Models/MultiLayerItem.cpp b/GUI/coregui/Models/MultiLayerItem.cpp
index 3acf87d7792..eff17f2e892 100644
--- a/GUI/coregui/Models/MultiLayerItem.cpp
+++ b/GUI/coregui/Models/MultiLayerItem.cpp
@@ -16,9 +16,6 @@
 
 #include "MultiLayerItem.h"
 #include "LayerItem.h"
-#include "ScientificDoubleProperty.h"
-#include "SessionModel.h"
-#include <QDebug>
 
 const QString MultiLayerItem::P_CROSS_CORR_LENGTH = "Cross Correlation Length";
 const QString MultiLayerItem::T_LAYERS = "Layer tag";
diff --git a/GUI/coregui/Models/ParameterTranslators.cpp b/GUI/coregui/Models/ParameterTranslators.cpp
index 2c51f0d8087..1e0c7c4441f 100644
--- a/GUI/coregui/Models/ParameterTranslators.cpp
+++ b/GUI/coregui/Models/ParameterTranslators.cpp
@@ -18,7 +18,6 @@
 #include "ParticleItem.h"
 #include "VectorItem.h"
 #include "RotationItems.h"
-#include "BornAgainNamespace.h"
 
 
 PositionTranslator::PositionTranslator()
diff --git a/GUI/coregui/Models/ParameterTranslators.h b/GUI/coregui/Models/ParameterTranslators.h
index ddda550ae30..769d7db4e0d 100644
--- a/GUI/coregui/Models/ParameterTranslators.h
+++ b/GUI/coregui/Models/ParameterTranslators.h
@@ -16,7 +16,6 @@
 #ifndef PARAMETERTRANSLATORS_H
 #define PARAMETERTRANSLATORS_H
 
-#include <string>
 #include <QStringList>
 
 class IParameterTranslator {
diff --git a/GUI/coregui/Models/ParameterTuningModel.cpp b/GUI/coregui/Models/ParameterTuningModel.cpp
index 24eadd703a1..9a701f58d04 100644
--- a/GUI/coregui/Models/ParameterTuningModel.cpp
+++ b/GUI/coregui/Models/ParameterTuningModel.cpp
@@ -15,8 +15,6 @@
 // ************************************************************************** //
 
 #include "ParameterTuningModel.h"
-#include "FitParameterItems.h"
-#include "SessionXML.h"
 #include "FitParameterHelper.h"
 #include "SessionModel.h"
 #include "ParameterTreeItems.h"
diff --git a/GUI/coregui/Models/ParticleCompositionItem.h b/GUI/coregui/Models/ParticleCompositionItem.h
index 59259b7b7be..47b96aa8186 100644
--- a/GUI/coregui/Models/ParticleCompositionItem.h
+++ b/GUI/coregui/Models/ParticleCompositionItem.h
@@ -20,8 +20,6 @@
 #include "ParticleComposition.h"
 #include "SessionGraphicsItem.h"
 
-#include <QStringList>
-#include <memory>
 
 class BA_CORE_API_ ParticleCompositionItem : public SessionGraphicsItem
 {
diff --git a/GUI/coregui/Models/ParticleCoreShellItem.cpp b/GUI/coregui/Models/ParticleCoreShellItem.cpp
index 5584d0c061c..cf6d118976c 100644
--- a/GUI/coregui/Models/ParticleCoreShellItem.cpp
+++ b/GUI/coregui/Models/ParticleCoreShellItem.cpp
@@ -16,11 +16,9 @@
 
 #include "ParticleCoreShellItem.h"
 #include "ParticleItem.h"
-#include "VectorItem.h"
 #include "TransformToDomain.h"
 #include "GUIHelpers.h"
 #include "ModelPath.h"
-#include <QDebug>
 
 const QString ParticleCoreShellItem::T_CORE = "Core Tag";
 const QString ParticleCoreShellItem::T_SHELL = "Shell Tag";
diff --git a/GUI/coregui/Models/ParticleCoreShellItem.h b/GUI/coregui/Models/ParticleCoreShellItem.h
index 2106712e6d2..3f866a65158 100644
--- a/GUI/coregui/Models/ParticleCoreShellItem.h
+++ b/GUI/coregui/Models/ParticleCoreShellItem.h
@@ -20,8 +20,6 @@
 #include "ParticleCoreShell.h"
 #include "SessionGraphicsItem.h"
 
-#include <QVector>
-#include <memory>
 
 class BA_CORE_API_ ParticleCoreShellItem : public SessionGraphicsItem
 {
diff --git a/GUI/coregui/Models/ParticleDistributionItem.cpp b/GUI/coregui/Models/ParticleDistributionItem.cpp
index 87b05ab2901..8aa79b02f2f 100644
--- a/GUI/coregui/Models/ParticleDistributionItem.cpp
+++ b/GUI/coregui/Models/ParticleDistributionItem.cpp
@@ -16,10 +16,6 @@
 
 #include "ParticleDistributionItem.h"
 #include "ParticleItem.h"
-#include "ParticleDistribution.h"
-#include "Particle.h"
-#include "ParticleCoreShell.h"
-#include "DomainObjectBuilder.h"
 #include "TransformToDomain.h"
 #include "TransformFromDomain.h"
 #include "DistributionItem.h"
@@ -28,7 +24,6 @@
 #include "GUIHelpers.h"
 #include "ModelPath.h"
 #include <QDebug>
-#include <memory>
 
 const QString ParticleDistributionItem::P_DISTRIBUTED_PARAMETER = "Distributed parameter";
 const QString ParticleDistributionItem::P_DISTRIBUTION = "Distribution";
diff --git a/GUI/coregui/Models/ParticleDistributionItem.h b/GUI/coregui/Models/ParticleDistributionItem.h
index 801534e80e9..9279ed8cdae 100644
--- a/GUI/coregui/Models/ParticleDistributionItem.h
+++ b/GUI/coregui/Models/ParticleDistributionItem.h
@@ -20,9 +20,7 @@
 #include "ParticleDistribution.h"
 #include "SessionGraphicsItem.h"
 
-#include <QStringList>
 
-class ParameterPool;
 
 class BA_CORE_API_ ParticleDistributionItem : public SessionGraphicsItem
 {
diff --git a/GUI/coregui/Models/ParticleItem.cpp b/GUI/coregui/Models/ParticleItem.cpp
index d1671365d53..94a2108d480 100644
--- a/GUI/coregui/Models/ParticleItem.cpp
+++ b/GUI/coregui/Models/ParticleItem.cpp
@@ -23,7 +23,6 @@
 #include "GUIHelpers.h"
 #include "ModelPath.h"
 
-#include <QDebug>
 
 const QString ParticleItem::P_FORM_FACTOR = "Form Factor";
 const QString ParticleItem::P_ABUNDANCE = "Abundance";
diff --git a/GUI/coregui/Models/ParticleItem.h b/GUI/coregui/Models/ParticleItem.h
index e7a57d6c686..7acf515ac17 100644
--- a/GUI/coregui/Models/ParticleItem.h
+++ b/GUI/coregui/Models/ParticleItem.h
@@ -20,7 +20,6 @@
 #include "Particle.h"
 #include "SessionGraphicsItem.h"
 
-#include <memory>
 
 class BA_CORE_API_ ParticleItem : public SessionGraphicsItem
 {
diff --git a/GUI/coregui/Models/ParticleLayoutItem.cpp b/GUI/coregui/Models/ParticleLayoutItem.cpp
index 08d7a1bfda0..4f7207abf08 100644
--- a/GUI/coregui/Models/ParticleLayoutItem.cpp
+++ b/GUI/coregui/Models/ParticleLayoutItem.cpp
@@ -15,8 +15,6 @@
 // ************************************************************************** //
 
 #include "ParticleLayoutItem.h"
-#include "ParticleCoreShellItem.h"
-#include "ParticleDistributionItem.h"
 #include "ComboProperty.h"
 
 const QString ParticleLayoutItem::P_APPROX = "Approximation";
diff --git a/GUI/coregui/Models/PropertyAttribute.cpp b/GUI/coregui/Models/PropertyAttribute.cpp
index 0054c660189..967cd4ef981 100644
--- a/GUI/coregui/Models/PropertyAttribute.cpp
+++ b/GUI/coregui/Models/PropertyAttribute.cpp
@@ -17,7 +17,6 @@
 #include "PropertyAttribute.h"
 #include "SessionItem.h"
 #include "tooltipdatabase.h"
-#include <QDebug>
 
 PropertyAttribute::PropertyAttribute(PropertyAttribute::Appearance appearance,
                                      const AttLimits &limits, int decimals, const QString &label,
diff --git a/GUI/coregui/Models/RectangularDetectorItem.h b/GUI/coregui/Models/RectangularDetectorItem.h
index 8503184d884..09237fc8aeb 100644
--- a/GUI/coregui/Models/RectangularDetectorItem.h
+++ b/GUI/coregui/Models/RectangularDetectorItem.h
@@ -19,7 +19,6 @@
 
 #include "SessionItem.h"
 #include "Vectors3D.h"
-#include <memory>
 
 class IDetector2D;
 class IResolutionFunction2D;
diff --git a/GUI/coregui/Models/ResolutionFunctionItems.cpp b/GUI/coregui/Models/ResolutionFunctionItems.cpp
index 81aaac75d76..58ac09204cd 100644
--- a/GUI/coregui/Models/ResolutionFunctionItems.cpp
+++ b/GUI/coregui/Models/ResolutionFunctionItems.cpp
@@ -15,9 +15,6 @@
 // ************************************************************************** //
 
 #include "ResolutionFunctionItems.h"
-#include "ComboProperty.h"
-#include "Units.h"
-#include <QDebug>
 
 ResolutionFunctionItem::ResolutionFunctionItem(const QString name)
     : SessionItem(name)
diff --git a/GUI/coregui/Models/RotationItems.cpp b/GUI/coregui/Models/RotationItems.cpp
index e42914ce1fb..0f429f0b0cd 100644
--- a/GUI/coregui/Models/RotationItems.cpp
+++ b/GUI/coregui/Models/RotationItems.cpp
@@ -16,7 +16,6 @@
 
 #include "RotationItems.h"
 #include "Units.h"
-#include "BornAgainNamespace.h"
 
 /* ------------------------------------------------ */
 
diff --git a/GUI/coregui/Models/SampleModel.cpp b/GUI/coregui/Models/SampleModel.cpp
index b9cc970f311..ee671ce1a31 100644
--- a/GUI/coregui/Models/SampleModel.cpp
+++ b/GUI/coregui/Models/SampleModel.cpp
@@ -15,12 +15,8 @@
 // ************************************************************************** //
 
 #include "SampleModel.h"
-#include "MaterialModel.h"
-#include "MaterialItem.h"
 #include "LayerItem.h"
 #include "MultiLayerItem.h"
-#include "ParticleItem.h"
-#include <QDebug>
 
 SampleModel::SampleModel(QObject *parent)
     : SessionModel(SessionXML::SampleModelTag, parent)
diff --git a/GUI/coregui/Models/SampleModel.h b/GUI/coregui/Models/SampleModel.h
index 6ca27726454..017bd9d8d42 100644
--- a/GUI/coregui/Models/SampleModel.h
+++ b/GUI/coregui/Models/SampleModel.h
@@ -18,8 +18,6 @@
 #define SAMPLEMODEL_H
 
 #include "SessionModel.h"
-#include "MaterialProperty.h"
-#include <QStringList>
 
 class MultiLayerItem;
 class BA_CORE_API_ SampleModel : public SessionModel
diff --git a/GUI/coregui/Models/SampleValidator.cpp b/GUI/coregui/Models/SampleValidator.cpp
index a41fe871eb4..6bdc8195bbc 100644
--- a/GUI/coregui/Models/SampleValidator.cpp
+++ b/GUI/coregui/Models/SampleValidator.cpp
@@ -21,7 +21,6 @@
 #include "ParticleCompositionItem.h"
 #include "ParticleCoreShellItem.h"
 #include "ParticleDistributionItem.h"
-#include <QDebug>
 
 SampleValidator::SampleValidator()
     : m_valid_sample(true)
diff --git a/GUI/coregui/Models/SampleValidator.h b/GUI/coregui/Models/SampleValidator.h
index b44a06338e4..499de8769e7 100644
--- a/GUI/coregui/Models/SampleValidator.h
+++ b/GUI/coregui/Models/SampleValidator.h
@@ -17,7 +17,6 @@
 #ifndef SAMPLE_VALIDATOR
 #define SAMPLE_VALIDATOR
 
-#include <QString>
 #include <QModelIndex>
 
 class SessionItem;
diff --git a/GUI/coregui/Models/ScientificDoubleProperty.h b/GUI/coregui/Models/ScientificDoubleProperty.h
index e5b482e1dda..2660ae884e7 100644
--- a/GUI/coregui/Models/ScientificDoubleProperty.h
+++ b/GUI/coregui/Models/ScientificDoubleProperty.h
@@ -17,10 +17,6 @@
 #ifndef SCIENTIFICDOUBLEPROPERTY_H
 #define SCIENTIFICDOUBLEPROPERTY_H
 
-#include "WinDllMacros.h"
-#include <QMetaType>
-#include <QString>
-#include <QVariant>
 
 //! The ScientificDoubleProperty for SessionItem and PropertyEditor
 //!
diff --git a/GUI/coregui/Models/SessionItem.cpp b/GUI/coregui/Models/SessionItem.cpp
index 38b60069b54..aed48b023fe 100644
--- a/GUI/coregui/Models/SessionItem.cpp
+++ b/GUI/coregui/Models/SessionItem.cpp
@@ -14,15 +14,12 @@
 //
 // ************************************************************************** //
 
-#include "SessionItem.h"
 #include "SessionModel.h"
 #include "GroupPropertyRegistry.h"
-#include "GroupProperty.h"
 #include "GroupItem.h"
 #include "ItemFactory.h"
 #include "GUIHelpers.h"
 
-#include <sstream>
 #include <QDebug>
 
 class SessionItemData
diff --git a/GUI/coregui/Models/SessionItem.h b/GUI/coregui/Models/SessionItem.h
index d5f4a835a41..9c0777dd3d7 100644
--- a/GUI/coregui/Models/SessionItem.h
+++ b/GUI/coregui/Models/SessionItem.h
@@ -17,19 +17,14 @@
 #ifndef SESSIONITEM_H
 #define SESSIONITEM_H
 
-#include "WinDllMacros.h"
 #include "item_constants.h"
 #include "ModelMapper.h"
 #include "AttLimits.h"
 
 #include <memory>
-#include <QVector>
-#include <QVariant>
-#include <QMetaType>
 
 Q_DECLARE_METATYPE(AttLimits)
 
-class SessionModel;
 class SessionItemData;
 
 class SessionTagInfo
diff --git a/GUI/coregui/Models/SessionModel.cpp b/GUI/coregui/Models/SessionModel.cpp
index f536eabdfc2..f55b556ab71 100644
--- a/GUI/coregui/Models/SessionModel.cpp
+++ b/GUI/coregui/Models/SessionModel.cpp
@@ -17,15 +17,7 @@
 #include "SessionModel.h"
 #include "ItemFactory.h"
 #include "GUIHelpers.h"
-#include "ComboProperty.h"
-#include "ScientificDoubleProperty.h"
 #include "IconProvider.h"
-#include "GroupProperty.h"
-#include "MaterialUtils.h"
-#include "MaterialProperty.h"
-#include "AngleProperty.h"
-#include "SessionGraphicsItem.h"
-#include "WarningMessageService.h"
 #include <QFile>
 #include <QMimeData>
 #include <QDebug>
diff --git a/GUI/coregui/Models/SessionModel.h b/GUI/coregui/Models/SessionModel.h
index 5e35cab0323..9a9c57b3ada 100644
--- a/GUI/coregui/Models/SessionModel.h
+++ b/GUI/coregui/Models/SessionModel.h
@@ -17,14 +17,11 @@
 #ifndef SESSIONMODEL_H
 #define SESSIONMODEL_H
 
-#include <QAbstractItemModel>
-#include <QtCore/QXmlStreamReader>
 #include <QtCore/QXmlStreamWriter>
 #include "SessionItem.h"
 #include "SessionXML.h"
 
 class IconProvider;
-class WarningMessageService;
 
 class BA_CORE_API_ SessionModel : public QAbstractItemModel
 {
diff --git a/GUI/coregui/Models/SessionModelAssistant.h b/GUI/coregui/Models/SessionModelAssistant.h
index 47c9ac9261d..695c0f40097 100644
--- a/GUI/coregui/Models/SessionModelAssistant.h
+++ b/GUI/coregui/Models/SessionModelAssistant.h
@@ -17,7 +17,6 @@
 #ifndef SESSIONMODELASSISTANT_H
 #define SESSIONMODELASSISTANT_H
 
-#include <QString>
 #include <QMap>
 
 class SessionItem;
diff --git a/GUI/coregui/Models/SessionModelDelegate.cpp b/GUI/coregui/Models/SessionModelDelegate.cpp
index 3c9c0104683..8b54414de9c 100644
--- a/GUI/coregui/Models/SessionModelDelegate.cpp
+++ b/GUI/coregui/Models/SessionModelDelegate.cpp
@@ -15,13 +15,8 @@
 // ************************************************************************** //
 
 #include "SessionModelDelegate.h"
-#include "SessionModel.h"
-#include "ComboProperty.h"
 #include "PropertyBrowserUtils.h"
-#include "ComboProperty.h"
-#include <QDebug>
 #include <QApplication>
-#include <QPainter>
 
 SessionModelDelegate::SessionModelDelegate(QWidget *parent)
     : QStyledItemDelegate(parent)
diff --git a/GUI/coregui/Models/SessionModelDelegate.h b/GUI/coregui/Models/SessionModelDelegate.h
index 8bb9bb5d686..edca2dca4e0 100644
--- a/GUI/coregui/Models/SessionModelDelegate.h
+++ b/GUI/coregui/Models/SessionModelDelegate.h
@@ -17,7 +17,6 @@
 #ifndef SESSIONMODELDELEGATE_H
 #define SESSIONMODELDELEGATE_H
 
-#include "WinDllMacros.h"
 #include <QStyledItemDelegate>
 
 class ComboProperty;
diff --git a/GUI/coregui/Models/SessionXML.cpp b/GUI/coregui/Models/SessionXML.cpp
index 704b6adc24c..3b4ef82d584 100644
--- a/GUI/coregui/Models/SessionXML.cpp
+++ b/GUI/coregui/Models/SessionXML.cpp
@@ -14,12 +14,9 @@
 //
 // ************************************************************************** //
 
-#include "SessionXML.h"
-#include "SessionItem.h"
 #include "SessionModel.h"
 #include "MaterialProperty.h"
 #include "ComboProperty.h"
-#include "GroupProperty.h"
 #include "ScientificDoubleProperty.h"
 #include "ColorProperty.h"
 #include "AngleProperty.h"
@@ -27,7 +24,6 @@
 #include "ItemFactory.h"
 #include "GroupItem.h"
 #include "WarningMessageService.h"
-#include <QXmlStreamWriter>
 #include <QDebug>
 
 namespace
diff --git a/GUI/coregui/Models/SessionXML.h b/GUI/coregui/Models/SessionXML.h
index 21fa24208d1..2fdcb4bd329 100644
--- a/GUI/coregui/Models/SessionXML.h
+++ b/GUI/coregui/Models/SessionXML.h
@@ -17,8 +17,6 @@
 #ifndef SESSIONXML_H
 #define SESSIONXML_H
 
-#include "WinDllMacros.h"
-#include <QString>
 #include <QVariant>
 
 class QXmlStreamWriter;
diff --git a/GUI/coregui/Models/SimulationOptionsItem.cpp b/GUI/coregui/Models/SimulationOptionsItem.cpp
index 6faf7b63ed0..d551eb977c4 100644
--- a/GUI/coregui/Models/SimulationOptionsItem.cpp
+++ b/GUI/coregui/Models/SimulationOptionsItem.cpp
@@ -17,7 +17,6 @@
 #include "SimulationOptionsItem.h"
 #include "ComboProperty.h"
 #include "Utils.h"
-#include <QDebug>
 
 namespace
 {
diff --git a/GUI/coregui/Models/SimulationOptionsItem.h b/GUI/coregui/Models/SimulationOptionsItem.h
index 7ae9b67369e..ac244affffe 100644
--- a/GUI/coregui/Models/SimulationOptionsItem.h
+++ b/GUI/coregui/Models/SimulationOptionsItem.h
@@ -18,7 +18,6 @@
 #define SIMULATIONOPTIONSITEM_H
 
 #include "SessionItem.h"
-#include <QStringList>
 
 //! The SimulationOptionsItem class holds simulation status (run policy, number of threads,
 //! integration flag). Used in SimulationView to define job settings. When job is started,
diff --git a/GUI/coregui/Models/SphericalDetectorItem.cpp b/GUI/coregui/Models/SphericalDetectorItem.cpp
index 4ef40281247..d71c711c3c4 100644
--- a/GUI/coregui/Models/SphericalDetectorItem.cpp
+++ b/GUI/coregui/Models/SphericalDetectorItem.cpp
@@ -17,8 +17,6 @@
 #include "Units.h"
 #include "SphericalDetectorItem.h"
 #include "AxesItems.h"
-#include "VectorItem.h"
-#include "GUIHelpers.h"
 #include "SphericalDetector.h"
 #include "ResolutionFunctionItems.h"
 
diff --git a/GUI/coregui/Models/SphericalDetectorItem.h b/GUI/coregui/Models/SphericalDetectorItem.h
index 3b05e8c6ac8..50a0202e6d8 100644
--- a/GUI/coregui/Models/SphericalDetectorItem.h
+++ b/GUI/coregui/Models/SphericalDetectorItem.h
@@ -18,7 +18,6 @@
 #define SPHERICALDETECTORITEM_H
 
 #include "SessionItem.h"
-#include <memory>
 
 class IDetector2D;
 class IResolutionFunction2D;
diff --git a/GUI/coregui/Models/TestItem.cpp b/GUI/coregui/Models/TestItem.cpp
index ebda956fb3f..081abe3062c 100644
--- a/GUI/coregui/Models/TestItem.cpp
+++ b/GUI/coregui/Models/TestItem.cpp
@@ -16,9 +16,6 @@
 
 #include "TestItem.h"
 #include "ComboProperty.h"
-#include "AngleProperty.h"
-#include "Units.h"
-#include <QDebug>
 
 const QString TestItem::P_DISTRIBUTION = "Distribution";
 const QString TestItem::P_VALUE = "Value";
diff --git a/GUI/coregui/Models/TransformFromDomain.cpp b/GUI/coregui/Models/TransformFromDomain.cpp
index 4bad7cc384c..388728de151 100644
--- a/GUI/coregui/Models/TransformFromDomain.cpp
+++ b/GUI/coregui/Models/TransformFromDomain.cpp
@@ -14,59 +14,39 @@
 //
 // ************************************************************************** //
 
-#include "SessionItem.h"
 #include "InterferenceFunctions.h"
 #include "InterferenceFunctionItems.h"
-#include "FTDistributions.h"
 #include "FTDistributionItems.h"
 #include "FTDecayFunctionItems.h"
 #include "LatticeTypeItems.h"
-#include "Numeric.h"
-#include "Units.h"
 #include "LayerItem.h"
 #include "Layer.h"
 #include "LayerInterface.h"
 #include "GUIHelpers.h"
-#include "FormFactorItems.h"
-#include "LayerRoughness.h"
 #include "LayerRoughnessItems.h"
-#include "ConstKBinAxis.h"
-#include "FixedBinAxis.h"
-#include "CustomBinAxis.h"
 #include "SphericalDetector.h"
 #include "ParticleItem.h"
 #include "ParticleDistributionItem.h"
-#include "ParticleDistribution.h"
 #include "Distributions.h"
-#include "DistributionItem.h"
 #include "DetectorItems.h"
 #include "BeamItem.h"
 #include "ComboProperty.h"
-#include "DistributionHandler.h"
-#include "ParameterDistribution.h"
-#include "BeamDistributionItem.h"
 #include "BeamAngleItems.h"
 #include "AxesItems.h"
-#include "ResolutionFunction2DGaussian.h"
 #include "ResolutionFunctionItems.h"
 #include "ConvolutionDetectorResolution.h"
-#include "DetectorMask.h"
 #include "Rectangle.h"
 #include "Ellipse.h"
 #include "Polygon.h"
 #include "Line.h"
 #include "InfinitePlane.h"
 #include "MaskItems.h"
-#include "BornAgainNamespace.h"
 #include "RectangularDetector.h"
-#include "RectangularDetectorItem.h"
 #include "VectorItem.h"
 #include "ModelPath.h"
 #include "TransformFromDomain.h"
 
-#include <QString>
 #include <QDebug>
-#include <vector>
 
 using namespace BornAgain;
 
diff --git a/GUI/coregui/Models/TransformFromDomain.h b/GUI/coregui/Models/TransformFromDomain.h
index 32be6b0c90a..50da9f18577 100644
--- a/GUI/coregui/Models/TransformFromDomain.h
+++ b/GUI/coregui/Models/TransformFromDomain.h
@@ -17,8 +17,6 @@
 #ifndef TRANSFORMFROMDOMAIN_H
 #define TRANSFORMFROMDOMAIN_H
 
-#include "WinDllMacros.h"
-#include <QString>
 
 namespace TransformFromDomain
 {
diff --git a/GUI/coregui/Models/TransformToDomain.cpp b/GUI/coregui/Models/TransformToDomain.cpp
index 72992fe33ab..60f1dcf6022 100644
--- a/GUI/coregui/Models/TransformToDomain.cpp
+++ b/GUI/coregui/Models/TransformToDomain.cpp
@@ -15,45 +15,33 @@
 // ************************************************************************** //
 
 #include "TransformToDomain.h"
-#include "MaterialUtils.h"
 #include "GUIHelpers.h"
-#include "FormFactorItems.h"
 #include "InterferenceFunctionItems.h"
 #include "ParticleItem.h"
 #include "LayerItem.h"
 #include "BeamItem.h"
 #include "ComboProperty.h"
 #include "DetectorItems.h"
-#include "AxesItems.h"
 #include "MultiLayerItem.h"
 #include "LatticeTypeItems.h"
 #include "FTDistributionItems.h"
 #include "ParticleCoreShellItem.h"
-#include "ParticleCoreShell.h"
 #include "ParticleCompositionItem.h"
 #include "LayerRoughnessItems.h"
 #include "TransformationItem.h"
 #include "VectorItem.h"
 #include "RotationItems.h"
 #include "MaterialUtils.h"
-#include "MaterialProperty.h"
-#include "AngleProperty.h"
-#include "FixedBinAxis.h"
-#include "ConstKBinAxis.h"
 #include "ParticleLayoutItem.h"
-#include "DistributionItem.h"
 #include "Distributions.h"
 #include "BeamWavelengthItem.h"
 #include "BeamAngleItems.h"
-#include "ResolutionFunctionItems.h"
 #include "MaskItems.h"
-#include "BornAgainNamespace.h"
 #include "ParticleDistributionItem.h"
 #include "FTDecayFunctionItems.h"
 #include "SimulationOptionsItem.h"
 
 
-#include <QDebug>
 
 using namespace BornAgain;
 
diff --git a/GUI/coregui/Models/TransformToDomain.h b/GUI/coregui/Models/TransformToDomain.h
index 284eec55581..6bae17a220a 100644
--- a/GUI/coregui/Models/TransformToDomain.h
+++ b/GUI/coregui/Models/TransformToDomain.h
@@ -20,9 +20,7 @@
 #include "Samples.h"
 #include "InterferenceFunctions.h"
 #include "SessionItem.h"
-#include "Instrument.h"
 
-#include <memory>
 
 namespace TransformToDomain
 {
diff --git a/GUI/coregui/Models/TransformationItem.cpp b/GUI/coregui/Models/TransformationItem.cpp
index f74ddd10638..1ac6d7aa0c2 100644
--- a/GUI/coregui/Models/TransformationItem.cpp
+++ b/GUI/coregui/Models/TransformationItem.cpp
@@ -15,9 +15,6 @@
 // ************************************************************************** //
 
 #include "TransformationItem.h"
-#include "ParticleItem.h"
-#include "GUIHelpers.h"
-#include <QDebug>
 
 const QString TransformationItem::P_ROT = "Rotation type";
 
diff --git a/GUI/coregui/Models/TransformationItem.h b/GUI/coregui/Models/TransformationItem.h
index b15e6843629..129327180e1 100644
--- a/GUI/coregui/Models/TransformationItem.h
+++ b/GUI/coregui/Models/TransformationItem.h
@@ -18,7 +18,6 @@
 #define TRANSFORMATIONITEM_H
 
 #include "SessionGraphicsItem.h"
-#include <QVector>
 
 class TransformationItem : public SessionGraphicsItem
 {
diff --git a/GUI/coregui/Models/VectorItem.cpp b/GUI/coregui/Models/VectorItem.cpp
index d3eea6f075e..731a6c3e77e 100644
--- a/GUI/coregui/Models/VectorItem.cpp
+++ b/GUI/coregui/Models/VectorItem.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "VectorItem.h"
-#include <QDebug>
 
 const QString VectorItem::P_X = "X";
 const QString VectorItem::P_Y = "Y";
diff --git a/GUI/coregui/Views/ImportDataView.cpp b/GUI/coregui/Views/ImportDataView.cpp
index b0dd242c1ca..a6729da1d94 100644
--- a/GUI/coregui/Views/ImportDataView.cpp
+++ b/GUI/coregui/Views/ImportDataView.cpp
@@ -22,8 +22,6 @@
 #include "mainwindow_constants.h"
 #include "minisplitter.h"
 #include <QVBoxLayout>
-#include <QSplitter>
-#include <QDebug>
 
 ImportDataView::ImportDataView(MainWindow *mainWindow)
     : QWidget(mainWindow)
diff --git a/GUI/coregui/Views/ImportDataView.h b/GUI/coregui/Views/ImportDataView.h
index 5820cc9acbd..d3d8b9be41e 100644
--- a/GUI/coregui/Views/ImportDataView.h
+++ b/GUI/coregui/Views/ImportDataView.h
@@ -17,10 +17,8 @@
 #ifndef IMPORTDATAVIEW_H
 #define IMPORTDATAVIEW_H
 
-#include "WinDllMacros.h"
 #include "ItemStackPresenter.h"
 #include "RealDataEditorWidget.h"
-#include <QWidget>
 
 class ImportDataToolBar;
 class ItemSelectorWidget;
diff --git a/GUI/coregui/Views/InstrumentView.cpp b/GUI/coregui/Views/InstrumentView.cpp
index d84c32cfef1..ee2512f1208 100644
--- a/GUI/coregui/Views/InstrumentView.cpp
+++ b/GUI/coregui/Views/InstrumentView.cpp
@@ -19,22 +19,13 @@
 #include "InstrumentModel.h"
 #include "InstrumentSelectorWidget.h"
 #include "InstrumentEditorWidget.h"
-#include "InstrumentItem.h"
 #include "ExtendedDetectorDialog.h"
-#include "DetectorItems.h"
 #include "StyledToolBar.h"
-#include "minisplitter.h"
 #include <QBoxLayout>
 #include <QListView>
 #include <QStackedWidget>
-#include <QPushButton>
 #include <QToolButton>
-#include <QMenu>
-#include <QAction>
 #include <QDebug>
-#include <QComboBox>
-#include <QToolBar>
-#include <QRegExp>
 
 
 InstrumentView::InstrumentView(MainWindow *mainWindow)
diff --git a/GUI/coregui/Views/InstrumentView.h b/GUI/coregui/Views/InstrumentView.h
index eccef0cfdaa..f61f5686ef0 100644
--- a/GUI/coregui/Views/InstrumentView.h
+++ b/GUI/coregui/Views/InstrumentView.h
@@ -17,19 +17,14 @@
 #ifndef INSTRUMENTVIEW_H
 #define INSTRUMENTVIEW_H
 
-#include "WinDllMacros.h"
 #include <QWidget>
-#include <QString>
 #include <QMap>
 
 class MainWindow;
 class InstrumentSelectorWidget;
 class InstrumentEditorWidget;
 class InstrumentModel;
-class QListView;
 class QStackedWidget;
-class QMenu;
-class QAction;
 class QItemSelection;
 class SessionItem;
 class QToolButton;
diff --git a/GUI/coregui/Views/JobView.cpp b/GUI/coregui/Views/JobView.cpp
index 17a803047e3..6050b171999 100644
--- a/GUI/coregui/Views/JobView.cpp
+++ b/GUI/coregui/Views/JobView.cpp
@@ -18,14 +18,12 @@
 #include "JobViewDocks.h"
 #include "JobSelectorWidget.h"
 #include "JobOutputDataWidget.h"
-#include "JobRealTimeWidget.h"
 #include "JobProgressAssistant.h"
 #include "JobModel.h"
 #include "mainwindow.h"
 #include "JobActivityStatusBar.h"
 #include "JobItem.h"
 #include <QMenu>
-#include <QCursor>
 
 JobView::JobView(MainWindow *mainWindow)
     : m_docks(new JobViewDocks(this))
diff --git a/GUI/coregui/Views/JobView.h b/GUI/coregui/Views/JobView.h
index 8a889dcba2b..fbe70fdb1aa 100644
--- a/GUI/coregui/Views/JobView.h
+++ b/GUI/coregui/Views/JobView.h
@@ -17,7 +17,6 @@
 #ifndef JOBVIEW_H
 #define JOBVIEW_H
 
-#include "WinDllMacros.h"
 #include "fancymainwindow.h"
 
 class MainWindow;
diff --git a/GUI/coregui/Views/SampleView.cpp b/GUI/coregui/Views/SampleView.cpp
index 5dc9cf709ee..80b310a80ae 100644
--- a/GUI/coregui/Views/SampleView.cpp
+++ b/GUI/coregui/Views/SampleView.cpp
@@ -19,16 +19,11 @@
 #include "SampleViewComponents.h"
 #include "SampleDesigner.h"
 #include "SampleToolBar.h"
-#include "GUIHelpers.h"
 #include "SamplePropertyWidget.h"
 #include "InfoWidget.h"
 #include "ItemFactory.h"
 #include "FilterPropertyProxy.h"
 #include <QDockWidget>
-#include <QAbstractItemView>
-#include <QToolBar>
-#include <QAction>
-#include <QToolButton>
 #include <QMenu>
 #include <QDebug>
 #include <QTimer>
diff --git a/GUI/coregui/Views/SampleView.h b/GUI/coregui/Views/SampleView.h
index 7e98e8af702..78696bbf33c 100644
--- a/GUI/coregui/Views/SampleView.h
+++ b/GUI/coregui/Views/SampleView.h
@@ -17,24 +17,17 @@
 #ifndef SAMPLEVIEW_H
 #define SAMPLEVIEW_H
 
-#include "WinDllMacros.h"
 #include "fancymainwindow.h"
-#include <QWidget>
-#include <QMainWindow>
-#include <QDockWidget>
 #include <QTreeView>
 #include <QAction>
 #include <QSignalMapper>
-#include <QItemSelectionModel>
 
 
 class MainWindow;
 class SampleModel;
 class InstrumentModel;
-class SampleDesignerInterface;
 class SampleDesigner;
 class SampleToolBar;
-class MaterialBrowser;
 
 
 class BA_CORE_API_ SampleView : public Manhattan::FancyMainWindow
diff --git a/GUI/coregui/Views/SampleViewComponents.cpp b/GUI/coregui/Views/SampleViewComponents.cpp
index 63e9fb26aa3..c5eefe1cc95 100644
--- a/GUI/coregui/Views/SampleViewComponents.cpp
+++ b/GUI/coregui/Views/SampleViewComponents.cpp
@@ -15,8 +15,6 @@
 // ************************************************************************** //
 
 #include "SampleViewComponents.h"
-#include "widgetbox.h"
-#include "SampleDesigner.h"
 #include "FilterPropertyProxy.h"
 
 
diff --git a/GUI/coregui/Views/SampleViewComponents.h b/GUI/coregui/Views/SampleViewComponents.h
index 7de8f029e5b..5853561fcf2 100644
--- a/GUI/coregui/Views/SampleViewComponents.h
+++ b/GUI/coregui/Views/SampleViewComponents.h
@@ -17,15 +17,12 @@
 #ifndef SAMPLEVIEWCOMPONENTS_H
 #define SAMPLEVIEWCOMPONENTS_H
 
-#include <QWidget>
 #include "ItemTreeView.h"
-#include "widgetbox.h"
 
 //#include "SamplePropertyEditor.h"
 #include "SampleWidgetBox.h"
 #include "SampleModel.h"
 
-#include <QSortFilterProxyModel>
 
 
 //class BA_CORE_API_ SampleInfoStreamInterface : public QWidget
diff --git a/GUI/coregui/Views/SessionModelView.cpp b/GUI/coregui/Views/SessionModelView.cpp
index 359e9a423f3..789d2a5a746 100644
--- a/GUI/coregui/Views/SessionModelView.cpp
+++ b/GUI/coregui/Views/SessionModelView.cpp
@@ -16,7 +16,6 @@
 
 #include "SessionModelView.h"
 #include "mainwindow.h"
-#include "ApplicationModels.h"
 #include "InstrumentModel.h"
 #include "RealDataModel.h"
 #include "SampleModel.h"
@@ -25,10 +24,8 @@
 #include "SessionModelDelegate.h"
 #include <QVBoxLayout>
 #include <QToolBar>
-#include <QTabWidget>
 #include <QToolButton>
 #include <QTreeView>
-#include <QDebug>
 
 
 SessionModelView::ModelTree::ModelTree(SessionModel *model, QTreeView *tree)
diff --git a/GUI/coregui/Views/SessionModelView.h b/GUI/coregui/Views/SessionModelView.h
index f7cefbac697..2db32cb2ca5 100644
--- a/GUI/coregui/Views/SessionModelView.h
+++ b/GUI/coregui/Views/SessionModelView.h
@@ -17,9 +17,7 @@
 #ifndef SESSIONMODELVIEW_H
 #define SESSIONMODELVIEW_H
 
-#include "WinDllMacros.h"
 #include <QWidget>
-#include <QVector>
 
 class MainWindow;
 class QToolBar;
diff --git a/GUI/coregui/Views/SimulationView.cpp b/GUI/coregui/Views/SimulationView.cpp
index 4ed380bd351..5ae271198fe 100644
--- a/GUI/coregui/Views/SimulationView.cpp
+++ b/GUI/coregui/Views/SimulationView.cpp
@@ -18,9 +18,7 @@
 #include "SimulationSetupWidget.h"
 #include "StyledToolBar.h"
 #include "mainwindow.h"
-#include <QTabWidget>
 #include <QVBoxLayout>
-#include <QDebug>
 
 SimulationView::SimulationView(MainWindow *mainWindow)
     : QWidget(mainWindow)
diff --git a/GUI/coregui/Views/SimulationView.h b/GUI/coregui/Views/SimulationView.h
index 3abcf1ba99e..dac7140564d 100644
--- a/GUI/coregui/Views/SimulationView.h
+++ b/GUI/coregui/Views/SimulationView.h
@@ -17,7 +17,6 @@
 #ifndef SIMULATIONVIEW_H
 #define SIMULATIONVIEW_H
 
-#include "WinDllMacros.h"
 #include <QWidget>
 
 class MainWindow;
diff --git a/GUI/coregui/Views/TestComponentView.cpp b/GUI/coregui/Views/TestComponentView.cpp
index 97a376406dd..662ea5476f7 100644
--- a/GUI/coregui/Views/TestComponentView.cpp
+++ b/GUI/coregui/Views/TestComponentView.cpp
@@ -16,18 +16,9 @@
 #include "TestComponentView.h"
 #include "mainwindow.h"
 #include "SampleModel.h"
-#include "BeamItem.h"
-#include "InstrumentItem.h"
 #include "ComponentEditor.h"
-#include "item_constants.h"
-#include "MultiLayerItem.h"
-#include "SampleBuilderFactory.h"
-#include "GUIObjectBuilder.h"
-#include "InstrumentModel.h"
-#include <QItemSelectionModel>
 #include <QHBoxLayout>
 #include <QTreeView>
-#include <QDebug>
 
 TestComponentView::TestComponentView(MainWindow *mainWindow)
     : QWidget(mainWindow)
diff --git a/GUI/coregui/Views/TestComponentView.h b/GUI/coregui/Views/TestComponentView.h
index ab32be9fe93..62b43c45b2b 100644
--- a/GUI/coregui/Views/TestComponentView.h
+++ b/GUI/coregui/Views/TestComponentView.h
@@ -22,7 +22,6 @@
 class MainWindow;
 class SampleModel;
 class ComponentEditor;
-class ComponentProxyEditor;
 class QTreeView;
 class QItemSelection;
 
diff --git a/GUI/coregui/Views/TestView.cpp b/GUI/coregui/Views/TestView.cpp
index ecc647e2e44..b00f2611a3a 100644
--- a/GUI/coregui/Views/TestView.cpp
+++ b/GUI/coregui/Views/TestView.cpp
@@ -21,18 +21,9 @@
 #include "MinimizerSettingsWidget.h"
 #include "AccordionWidget.h"
 #include "MinimizerItem.h"
-#include "item_constants.h"
-#include "SessionModel.h"
-#include "ColorMap.h"
-#include "ColorMapCanvas.h"
 #include "JobModel.h"
-#include "JobItem.h"
-#include "IntensityDataItem.h"
-#include "IntensityDataIOFactory.h"
-#include <QVBoxLayout>
 #include <QLineEdit>
 #include <QCheckBox>
-#include <QGridLayout>
 
 TestView::TestView(MainWindow *mainWindow)
     : QWidget(mainWindow)
diff --git a/GUI/coregui/Views/TestView.h b/GUI/coregui/Views/TestView.h
index 1215233964b..f960ffbd45b 100644
--- a/GUI/coregui/Views/TestView.h
+++ b/GUI/coregui/Views/TestView.h
@@ -17,12 +17,9 @@
 #ifndef TESTVIEW_H
 #define TESTVIEW_H
 
-#include "WinDllMacros.h"
 #include <QWidget>
 
 class MainWindow;
-class QTabWidget;
-class QAbstractItemModel;
 
 class BA_CORE_API_ TestView : public QWidget
 {
diff --git a/GUI/coregui/Views/WelcomeView.cpp b/GUI/coregui/Views/WelcomeView.cpp
index dbd78c1b9e2..387acd6031a 100644
--- a/GUI/coregui/Views/WelcomeView.cpp
+++ b/GUI/coregui/Views/WelcomeView.cpp
@@ -22,17 +22,12 @@
 #include "projectdocument.h"
 #include "projectmanager.h"
 #include "qstringutils.h"
-#include <QGroupBox>
-#include <QLabel>
-#include <QComboBox>
 #include <QVBoxLayout>
 #include <QDesktopServices>
 #include <QUrl>
-#include <QSizePolicy>
 #include <QCommandLinkButton>
 #include <QSignalMapper>
 #include <QDebug>
-#include <QPushButton>
 
 WelcomeView::WelcomeView(MainWindow *parent)
     : m_mainWindow(parent)
diff --git a/GUI/coregui/Views/WelcomeView.h b/GUI/coregui/Views/WelcomeView.h
index 5b21e118f17..97c3f66e0b4 100644
--- a/GUI/coregui/Views/WelcomeView.h
+++ b/GUI/coregui/Views/WelcomeView.h
@@ -17,8 +17,6 @@
 #ifndef WELCOMEVIEW_H
 #define WELCOMEVIEW_H
 
-#include "WinDllMacros.h"
-#include <QWidget>
 #include <QLabel>
 
 class QPushButton;
diff --git a/GUI/coregui/mainwindow/AppSvc.h b/GUI/coregui/mainwindow/AppSvc.h
index 22f4ea42c87..5250ca57a62 100644
--- a/GUI/coregui/mainwindow/AppSvc.h
+++ b/GUI/coregui/mainwindow/AppSvc.h
@@ -17,7 +17,6 @@
 #ifndef APPSVC_H
 #define APPSVC_H
 
-#include "WinDllMacros.h"
 #include "ISingleton.h"
 
 class ProjectManager;
diff --git a/GUI/coregui/mainwindow/SplashScreen.cpp b/GUI/coregui/mainwindow/SplashScreen.cpp
index c8d2b6bdd7c..e4591c957e3 100644
--- a/GUI/coregui/mainwindow/SplashScreen.cpp
+++ b/GUI/coregui/mainwindow/SplashScreen.cpp
@@ -15,12 +15,8 @@
 // ************************************************************************** //
 
 #include "SplashScreen.h"
-#include "DesignerHelper.h"
 #include "GUIHelpers.h"
 #include <QStyleOptionProgressBarV2>
-#include <QFont>
-#include <QPainter>
-#include <QDebug>
 
 SplashScreen::SplashScreen(QWidget *parent) :
     QSplashScreen(parent),m_progress(0)
diff --git a/GUI/coregui/mainwindow/SplashScreen.h b/GUI/coregui/mainwindow/SplashScreen.h
index 50579f40cb8..1dbd5e31ffc 100644
--- a/GUI/coregui/mainwindow/SplashScreen.h
+++ b/GUI/coregui/mainwindow/SplashScreen.h
@@ -18,7 +18,6 @@
 #define SPLASHSCREEN_H
 
 #include <QSplashScreen>
-#include "WinDllMacros.h"
 
 class BA_CORE_API_ SplashScreen : public QSplashScreen
 {
diff --git a/GUI/coregui/mainwindow/StyledToolBar.cpp b/GUI/coregui/mainwindow/StyledToolBar.cpp
index 8acdd5b0eb1..83d545a6ff1 100644
--- a/GUI/coregui/mainwindow/StyledToolBar.cpp
+++ b/GUI/coregui/mainwindow/StyledToolBar.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "StyledToolBar.h"
-#include <QIcon>
 #include <QStyle>
 #include <QLabel>
 
diff --git a/GUI/coregui/mainwindow/StyledToolBar.h b/GUI/coregui/mainwindow/StyledToolBar.h
index 82f84573cb8..f69deafc9bf 100644
--- a/GUI/coregui/mainwindow/StyledToolBar.h
+++ b/GUI/coregui/mainwindow/StyledToolBar.h
@@ -17,12 +17,8 @@
 #ifndef STYLEDTOOLBAR_H
 #define STYLEDTOOLBAR_H
 
-#include "WinDllMacros.h"
 #include <QToolBar>
 
-class QAction;
-class QToolButton;
-class QToolBar;
 
 //! The StyledToolBar class represents our standard narrow toolbar with the height 24 pixels.
 
diff --git a/GUI/coregui/mainwindow/UpdateNotifier.h b/GUI/coregui/mainwindow/UpdateNotifier.h
index 671bab95c07..731a91ddacd 100644
--- a/GUI/coregui/mainwindow/UpdateNotifier.h
+++ b/GUI/coregui/mainwindow/UpdateNotifier.h
@@ -17,7 +17,6 @@
 #ifndef UPDATENOTIFIER_H
 #define UPDATENOTIFIER_H
 
-#include "WinDllMacros.h"
 #include <QObject>
 
 class QNetworkAccessManager;
diff --git a/GUI/coregui/mainwindow/aboutapplicationdialog.cpp b/GUI/coregui/mainwindow/aboutapplicationdialog.cpp
index d892ad6472c..9ba29c875da 100644
--- a/GUI/coregui/mainwindow/aboutapplicationdialog.cpp
+++ b/GUI/coregui/mainwindow/aboutapplicationdialog.cpp
@@ -18,12 +18,10 @@
 #include "DesignerHelper.h"
 #include "GUIHelpers.h"
 #include <QLabel>
-#include <QHBoxLayout>
 #include <QVBoxLayout>
 #include <QPushButton>
 #include <QDate>
 
-#include <iostream>
 
 AboutApplicationDialog::AboutApplicationDialog(QWidget *parent)
     : QDialog(parent)
diff --git a/GUI/coregui/mainwindow/aboutapplicationdialog.h b/GUI/coregui/mainwindow/aboutapplicationdialog.h
index bccc009a913..6a230dfc9d8 100644
--- a/GUI/coregui/mainwindow/aboutapplicationdialog.h
+++ b/GUI/coregui/mainwindow/aboutapplicationdialog.h
@@ -17,15 +17,9 @@
 #ifndef ABOUTAPPLICATIONDIALOG_H
 #define ABOUTAPPLICATIONDIALOG_H
 
-#include "WinDllMacros.h"
 #include <QDialog>
-#include <QString>
 
 
-class QLabel;
-class QPushButton;
-class QStatusBar;
-class QPalette;
 
 
 //! new project dialog window
diff --git a/GUI/coregui/mainwindow/actionmanager.cpp b/GUI/coregui/mainwindow/actionmanager.cpp
index 9d8a94b6902..2da2b2ce442 100644
--- a/GUI/coregui/mainwindow/actionmanager.cpp
+++ b/GUI/coregui/mainwindow/actionmanager.cpp
@@ -22,14 +22,10 @@
 #include "qstringutils.h"
 #include "UpdateNotifier.h"
 #include <QMenuBar>
-#include <QMenu>
 #include <QShortcut>
 #include <QSettings>
-#include <QFileInfo>
-#include <QKeySequence>
 #include <QDebug>
 #include <QDir>
-#include <iostream>
 
 ActionManager::ActionManager(MainWindow *parent)
     : QObject(parent)
diff --git a/GUI/coregui/mainwindow/actionmanager.h b/GUI/coregui/mainwindow/actionmanager.h
index b5ba44dd17f..581f33c7858 100644
--- a/GUI/coregui/mainwindow/actionmanager.h
+++ b/GUI/coregui/mainwindow/actionmanager.h
@@ -17,9 +17,7 @@
 #ifndef ACTIONMANAGER_H
 #define ACTIONMANAGER_H
 
-#include "WinDllMacros.h"
 #include <QObject>
-#include <QList>
 
 class QMenu;
 class QAction;
diff --git a/GUI/coregui/mainwindow/mainwindow.cpp b/GUI/coregui/mainwindow/mainwindow.cpp
index 846c339ec7a..85b7e30c589 100644
--- a/GUI/coregui/mainwindow/mainwindow.cpp
+++ b/GUI/coregui/mainwindow/mainwindow.cpp
@@ -25,15 +25,11 @@
 #include "ImportDataView.h"
 #include "SimulationView.h"
 #include "JobView.h"
-#include "TestView.h"
 #include "SessionModelView.h"
-#include "TestFitWidgets.h"
 
-#include "JobQueueData.h"
 #include "stylehelper.h"
 #include "JobModel.h"
 #include "ApplicationModels.h"
-#include "mainwindow_constants.h"
 #include "hostosinfo.h"
 #include "projectmanager.h"
 #include "progressbar.h"
@@ -44,12 +40,9 @@
 #include "UpdateNotifier.h"
 
 #include <QApplication>
-#include <QStatusBar>
 #include <QSettings>
 #include <QCloseEvent>
 #include <QMessageBox>
-#include <QDebug>
-#include <QTimer>
 
 MainWindow::MainWindow(QWidget *parent)
     : Manhattan::FancyMainWindow(parent)
diff --git a/GUI/coregui/mainwindow/mainwindow.h b/GUI/coregui/mainwindow/mainwindow.h
index 6b56d60b5aa..662e4475897 100644
--- a/GUI/coregui/mainwindow/mainwindow.h
+++ b/GUI/coregui/mainwindow/mainwindow.h
@@ -17,9 +17,7 @@
 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 
-#include "WinDllMacros.h"
 #include "fancymainwindow.h"
-#include <QMainWindow>
 
 namespace Manhattan {
     class FancyTabWidget;
@@ -35,7 +33,6 @@ class JobView;
 class SessionModelView;
 
 class MaterialModel;
-class MaterialSvc;
 class SampleModel;
 class InstrumentModel;
 class RealDataModel;
@@ -43,7 +40,6 @@ class JobModel;
 class ApplicationModels;
 class ProjectManager;
 class ActionManager;
-class QSettings;
 class ToolTipDataBase;
 class UpdateNotifier;
 
diff --git a/GUI/coregui/mainwindow/mainwindow_constants.h b/GUI/coregui/mainwindow/mainwindow_constants.h
index 11e511c3885..2596078a061 100644
--- a/GUI/coregui/mainwindow/mainwindow_constants.h
+++ b/GUI/coregui/mainwindow/mainwindow_constants.h
@@ -17,7 +17,6 @@
 #ifndef MAINWINDOW_CONSTANTS_H
 #define MAINWINDOW_CONSTANTS_H
 
-#include <QString>
 
 namespace Constants {
 
diff --git a/GUI/coregui/mainwindow/newprojectdialog.cpp b/GUI/coregui/mainwindow/newprojectdialog.cpp
index 714fb131d99..8567fe6b8fd 100644
--- a/GUI/coregui/mainwindow/newprojectdialog.cpp
+++ b/GUI/coregui/mainwindow/newprojectdialog.cpp
@@ -17,18 +17,11 @@
 #include "newprojectdialog.h"
 #include "projectdocument.h"
 #include <QLabel>
-#include <QLineEdit>
 #include <QGroupBox>
-#include <QGridLayout>
-#include <QHBoxLayout>
 #include <QVBoxLayout>
 #include <QPushButton>
-#include <QStatusBar>
-#include <QDir>
 #include <QFileDialog>
-#include <QDebug>
 
-#include <iostream>
 
 NewProjectDialog::NewProjectDialog(QWidget *parent, const QString &workingDirectory
                                    , const QString &projectName)
diff --git a/GUI/coregui/mainwindow/newprojectdialog.h b/GUI/coregui/mainwindow/newprojectdialog.h
index 35339650dac..4b8d8c3881a 100644
--- a/GUI/coregui/mainwindow/newprojectdialog.h
+++ b/GUI/coregui/mainwindow/newprojectdialog.h
@@ -17,15 +17,10 @@
 #ifndef NEWPROJECTDIALOG_H
 #define NEWPROJECTDIALOG_H
 
-#include "WinDllMacros.h"
 #include <QDialog>
-#include <QString>
 #include <QLineEdit>
 
 class QLabel;
-class QPushButton;
-class QStatusBar;
-class QPalette;
 
 
 //! new project dialog window
diff --git a/GUI/coregui/mainwindow/projectdocument.cpp b/GUI/coregui/mainwindow/projectdocument.cpp
index 61177099aae..4df63e4b906 100644
--- a/GUI/coregui/mainwindow/projectdocument.cpp
+++ b/GUI/coregui/mainwindow/projectdocument.cpp
@@ -16,27 +16,9 @@
 
 #include "projectdocument.h"
 #include "ApplicationModels.h"
-#include "DocumentModel.h"
-#include "MaterialModel.h"
-#include "InstrumentModel.h"
-#include "JobQueueData.h"
-#include "JobModel.h"
-#include "JobItem.h"
-#include "IntensityDataItem.h"
-#include "SampleModel.h"
-#include "IntensityDataIOFactory.h"
-#include "BAVersion.h"
 #include "WarningMessageService.h"
-#include "MessageContainer.h"
 #include "GUIHelpers.h"
-#include "JobItemHelper.h"
-#include "GUIHelpers.h"
-#include <QFile>
-#include <QTextStream>
-#include <QFileInfo>
 #include <QDir>
-#include <QModelIndex>
-#include <QXmlStreamWriter>
 #include <QXmlStreamReader>
 #include <QDebug>
 
diff --git a/GUI/coregui/mainwindow/projectdocument.h b/GUI/coregui/mainwindow/projectdocument.h
index f3ecf0c1c9c..467fd4e67be 100644
--- a/GUI/coregui/mainwindow/projectdocument.h
+++ b/GUI/coregui/mainwindow/projectdocument.h
@@ -17,15 +17,10 @@
 #ifndef PROJECTDOCUMENT_H
 #define PROJECTDOCUMENT_H
 
-#include "WinDllMacros.h"
 #include <QObject>
-#include <QString>
 
 class QIODevice;
-class QModelIndex;
 class ApplicationModels;
-class SessionModel;
-class QXmlStreamReader;
 class WarningMessageService;
 
 namespace ProjectDocumentXML
diff --git a/GUI/coregui/mainwindow/projectmanager.cpp b/GUI/coregui/mainwindow/projectmanager.cpp
index 57ddeef52ce..aa26a2b5a41 100644
--- a/GUI/coregui/mainwindow/projectmanager.cpp
+++ b/GUI/coregui/mainwindow/projectmanager.cpp
@@ -18,22 +18,17 @@
 #include "newprojectdialog.h"
 #include "mainwindow.h"
 #include "projectdocument.h"
-#include "actionmanager.h"
 #include "mainwindow_constants.h"
 #include "GUIHelpers.h"
 #include "ProjectLoadWarningDialog.h"
 #include "WarningMessageService.h"
-#include "MessageContainer.h"
-#include "GUIMessage.h"
 #include "ApplicationModels.h"
 #include "AppSvc.h"
-#include <QDir>
 #include <QFileDialog>
 #include <QSettings>
 #include <QDebug>
 #include <QMessageBox>
 #include <QStandardPaths>
-#include <iostream>
 
 ProjectManager::ProjectManager(MainWindow *parent)
     : m_mainWindow(parent)
diff --git a/GUI/coregui/mainwindow/projectmanager.h b/GUI/coregui/mainwindow/projectmanager.h
index 4c3d5497099..7c8c8f53d19 100644
--- a/GUI/coregui/mainwindow/projectmanager.h
+++ b/GUI/coregui/mainwindow/projectmanager.h
@@ -17,14 +17,10 @@
 #ifndef PROJECTMANAGER_H
 #define PROJECTMANAGER_H
 
-#include "WinDllMacros.h"
 #include <QObject>
-#include <QString>
-#include <QStringList>
 
 class MainWindow;
 class ProjectDocument;
-class QSettings;
 class WarningMessageService;
 
 //! handles activity related to opening/save projects
diff --git a/GUI/coregui/mainwindow/tooltipdatabase.h b/GUI/coregui/mainwindow/tooltipdatabase.h
index 9d4283fc779..17a267df1e7 100644
--- a/GUI/coregui/mainwindow/tooltipdatabase.h
+++ b/GUI/coregui/mainwindow/tooltipdatabase.h
@@ -17,9 +17,7 @@
 #ifndef TOOLTIP_DATABASE
 #define TOOLTIP_DATABASE
 
-#include "WinDllMacros.h"
 #include <QObject>
-#include <QMap>
 
 namespace ToolTipsXML {
 const QString modelTag = "ToolTipsData";
diff --git a/GUI/coregui/utils/CustomEventFilters.cpp b/GUI/coregui/utils/CustomEventFilters.cpp
index 3de642fc458..72598b47ec6 100644
--- a/GUI/coregui/utils/CustomEventFilters.cpp
+++ b/GUI/coregui/utils/CustomEventFilters.cpp
@@ -15,8 +15,6 @@
 // ************************************************************************** //
 
 #include "CustomEventFilters.h"
-#include <QEvent>
-#include <QSpinBox>
 #include <QComboBox>
 #include <QKeyEvent>
 
diff --git a/GUI/coregui/utils/CustomEventFilters.h b/GUI/coregui/utils/CustomEventFilters.h
index becc392fdef..a4520bf29f9 100644
--- a/GUI/coregui/utils/CustomEventFilters.h
+++ b/GUI/coregui/utils/CustomEventFilters.h
@@ -17,10 +17,8 @@
 #ifndef CUSTOMEVENTFILTERS_H
 #define CUSTOMEVENTFILTERS_H
 
-#include "WinDllMacros.h"
 #include <QObject>
 
-class QEvent;
 
 //! Filter out space bar key events, which is special case for dialog windows.
 
diff --git a/GUI/coregui/utils/FancyLabel.cpp b/GUI/coregui/utils/FancyLabel.cpp
index 2ab68786ca7..6349a2266ed 100644
--- a/GUI/coregui/utils/FancyLabel.cpp
+++ b/GUI/coregui/utils/FancyLabel.cpp
@@ -16,7 +16,6 @@
 
 #include "FancyLabel.h"
 #include <QTimer>
-#include <QDebug>
 
 FancyLabel::FancyLabel(const QString &text, QWidget *parent)
     : QLabel(text, parent)
diff --git a/GUI/coregui/utils/FancyLabel.h b/GUI/coregui/utils/FancyLabel.h
index b705434254c..2ed1bf00f60 100644
--- a/GUI/coregui/utils/FancyLabel.h
+++ b/GUI/coregui/utils/FancyLabel.h
@@ -17,9 +17,7 @@
 #ifndef FANCYLABEL_H
 #define FANCYLABEL_H
 
-#include "WinDllMacros.h"
 #include <QLabel>
-#include <QTimer>
 
 //! The FancyLabel class is QLabel-like class with trivail animation, when text slowly
 //! appears on the screen from left to right pretending to be typed
diff --git a/GUI/coregui/utils/GUIHelpers.cpp b/GUI/coregui/utils/GUIHelpers.cpp
index 446810e22ef..c5282a25307 100644
--- a/GUI/coregui/utils/GUIHelpers.cpp
+++ b/GUI/coregui/utils/GUIHelpers.cpp
@@ -14,19 +14,14 @@
 //
 // ************************************************************************** //
 
-#include "GUIHelpers.h"
 #include "BAVersion.h"
 #include "JobItem.h"
 #include "RealDataItem.h"
 #include <QApplication>
-#include <QFile>
 #include <QDir>
-#include <QRegExp>
 #include <QMessageBox>
 #include <QPushButton>
-#include <QFileInfo>
 #include <QDateTime>
-#include <QDebug>
 
 namespace GUIHelpers {
 
diff --git a/GUI/coregui/utils/GUIHelpers.h b/GUI/coregui/utils/GUIHelpers.h
index c2d4ee795b4..a6d58e933af 100644
--- a/GUI/coregui/utils/GUIHelpers.h
+++ b/GUI/coregui/utils/GUIHelpers.h
@@ -17,13 +17,9 @@
 #ifndef GUIHELPERS_H
 #define GUIHELPERS_H
 
-#include "WinDllMacros.h"
 #include <QWidget>
-#include <QString>
-#include <exception>
 #include <memory>
 
-class QVariant;
 class JobItem;
 class RealDataItem;
 
diff --git a/GUI/coregui/utils/GUITest.cpp b/GUI/coregui/utils/GUITest.cpp
index 580931508fd..57a42319b74 100644
--- a/GUI/coregui/utils/GUITest.cpp
+++ b/GUI/coregui/utils/GUITest.cpp
@@ -15,21 +15,16 @@
 // ************************************************************************** //
 
 #include "GUITest.h"
-#include "SimulationFactory.h"
 #include "GUIObjectBuilder.h"
 #include "InstrumentModel.h"
 #include "SampleModel.h"
 #include "MaterialSvc.h"
 #include "MaterialModel.h"
-#include "Instrument.h"
-#include "DomainObjectBuilder.h"
-#include "SessionItem.h"
 #include "IntensityDataFunctions.h"
 #include "DomainSimulationBuilder.h"
 #include "DocumentModel.h"
 #include "Utils.h"
 
-#include <QDebug>
 
 
 GUITest::GUITest(const std::string &name, const std::string &description,
diff --git a/GUI/coregui/utils/GUITest.h b/GUI/coregui/utils/GUITest.h
index 89e18aecce5..1bc91e7cd8c 100644
--- a/GUI/coregui/utils/GUITest.h
+++ b/GUI/coregui/utils/GUITest.h
@@ -17,10 +17,8 @@
 #ifndef GUITEST_H
 #define GUITEST_H
 
-#include "WinDllMacros.h"
 #include "IFunctionalTest.h"
 #include "OutputData.h"
-#include <string>
 
 class GISASSimulation;
 
diff --git a/GUI/coregui/utils/MessageContainer.cpp b/GUI/coregui/utils/MessageContainer.cpp
index 47258247497..8c303863bff 100644
--- a/GUI/coregui/utils/MessageContainer.cpp
+++ b/GUI/coregui/utils/MessageContainer.cpp
@@ -15,7 +15,6 @@
 // ************************************************************************** //
 
 #include "MessageContainer.h"
-#include "GUIMessage.h"
 #include "GUIHelpers.h"
 
 namespace {
diff --git a/GUI/coregui/utils/WarningMessageService.cpp b/GUI/coregui/utils/WarningMessageService.cpp
index 1ac8c37ac04..8c2e0a84021 100644
--- a/GUI/coregui/utils/WarningMessageService.cpp
+++ b/GUI/coregui/utils/WarningMessageService.cpp
@@ -17,7 +17,6 @@
 #include "WarningMessageService.h"
 #include "MessageContainer.h"
 #include "GUIMessage.h"
-#include "GUIHelpers.h"
 #include <QObject>
 
 WarningMessageService::~WarningMessageService()
diff --git a/GUI/coregui/utils/WarningMessageService.h b/GUI/coregui/utils/WarningMessageService.h
index d166e43f0fa..58230725bc9 100644
--- a/GUI/coregui/utils/WarningMessageService.h
+++ b/GUI/coregui/utils/WarningMessageService.h
@@ -19,7 +19,6 @@
 
 #include "IMessageService.h"
 #include <QMap>
-#include <QStringList>
 
 class MessageContainer;
 class QObject;
diff --git a/GUI/coregui/utils/hostosinfo.h b/GUI/coregui/utils/hostosinfo.h
index 3b3a5d3783e..1a1e5643bcf 100644
--- a/GUI/coregui/utils/hostosinfo.h
+++ b/GUI/coregui/utils/hostosinfo.h
@@ -17,8 +17,6 @@
 #ifndef HOSTOSINFO_H
 #define HOSTOSINFO_H
 
-#include "WinDllMacros.h"
-#include <QString>
 
 namespace Utils {
 
diff --git a/GUI/coregui/utils/qstringutils.cpp b/GUI/coregui/utils/qstringutils.cpp
index e3382c0f617..4b5838ce7c5 100644
--- a/GUI/coregui/utils/qstringutils.cpp
+++ b/GUI/coregui/utils/qstringutils.cpp
@@ -16,7 +16,6 @@
 
 #include "qstringutils.h"
 #include "hostosinfo.h"
-#include <QFileInfo>
 #include <QDir>
 
 namespace Utils
diff --git a/GUI/coregui/utils/qstringutils.h b/GUI/coregui/utils/qstringutils.h
index 193860c520a..679283b6c4b 100644
--- a/GUI/coregui/utils/qstringutils.h
+++ b/GUI/coregui/utils/qstringutils.h
@@ -17,7 +17,6 @@
 #ifndef QSTRINGUTILS_H
 #define QSTRINGUTILS_H
 
-#include "WinDllMacros.h"
 #include <QString>
 
 namespace Utils
-- 
GitLab