diff --git a/GUI/Application/GlobalSettings.cpp b/GUI/Application/GlobalSettings.cpp
index a6358f9c83e0a37300075a11268507089c47ee4a..3bed0f180c7efda85daa4daa83099a9593e9cbce 100644
--- a/GUI/Application/GlobalSettings.cpp
+++ b/GUI/Application/GlobalSettings.cpp
@@ -17,11 +17,11 @@
 #include <QFile>
 #include <QStandardPaths>
 
-GlobalSettings* baApp; //!< global pointer to _the_ instance
+GlobalSettings* globalSettings; //!< global pointer to _the_ instance
 
 GlobalSettings::GlobalSettings() : m_currentStyle(ApplicationSettings::Style::native)
 {
-    baApp = this;
+    globalSettings = this;
 }
 
 ApplicationSettings& GlobalSettings::settings()
diff --git a/GUI/Application/GlobalSettings.h b/GUI/Application/GlobalSettings.h
index 2865e12df1aa31f66de170c640aeec74e2e34c90..c818ac69408ca4a8047a7d22583771dc201933a6 100644
--- a/GUI/Application/GlobalSettings.h
+++ b/GUI/Application/GlobalSettings.h
@@ -47,6 +47,6 @@ private:
     Palette m_styleSheetPalette;
 };
 
-extern GlobalSettings* baApp; //!< global pointer to the single instance
+extern GlobalSettings* globalSettings; //!< global pointer to the single instance
 
 #endif // BORNAGAIN_GUI_APPLICATION_GLOBALSETTINGS_H
diff --git a/GUI/Model/Instrument/InstrumentsTreeModel.cpp b/GUI/Model/Instrument/InstrumentsTreeModel.cpp
index 5655a1f7f050789977ce43c7c2f15c8b0f80ea14..7ba02804a7b9914e8490c69cda976d6f6e7ebc05 100644
--- a/GUI/Model/Instrument/InstrumentsTreeModel.cpp
+++ b/GUI/Model/Instrument/InstrumentsTreeModel.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Instrument/InstrumentsTreeModel.h"
-#include "GUI/Application/GlobalSettings.h" // baApp
+#include "GUI/Application/GlobalSettings.h" // globalSettings
 #include "GUI/Model/Instrument/InstrumentItems.h"
 #include "GUI/Model/Instrument/InstrumentModel.h"
 #include <QApplication>
@@ -216,10 +216,10 @@ QVariant InstrumentsTreeModel::data(const QModelIndex& index, int role) const
             return QVariant(Qt::AlignLeft | Qt::AlignVCenter);
 
         case Qt::BackgroundRole:
-            return baApp->styleSheetPalette().headlineBackground;
+            return globalSettings->styleSheetPalette().headlineBackground;
 
         case Qt::ForegroundRole:
-            return baApp->styleSheetPalette().headlineText;
+            return globalSettings->styleSheetPalette().headlineText;
 
         default:
             return QVariant();
diff --git a/GUI/View/Import/RealDataSelectorWidget.cpp b/GUI/View/Import/RealDataSelectorWidget.cpp
index a5b8c58a1a464654dc04726bc3afc77ca8a5555c..7ddf09cc59d0d1e3ea2b9451913e0d8b13328b05 100644
--- a/GUI/View/Import/RealDataSelectorWidget.cpp
+++ b/GUI/View/Import/RealDataSelectorWidget.cpp
@@ -233,7 +233,7 @@ void RealDataSelectorWidget::importData1D()
 
     const QStringList fileNames = QFileDialog::getOpenFileNames(
         Q_NULLPTR, "Open Intensity Files", dirname, filters, &selectedFilter,
-        baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+        globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                 : QFileDialog::DontUseNativeDialog);
 
     if (fileNames.isEmpty())
@@ -285,7 +285,7 @@ void RealDataSelectorWidget::importData2D()
     const QString dirname = ProjectManager::instance()->userImportDir();
     const QStringList fileNames = QFileDialog::getOpenFileNames(
         Q_NULLPTR, "Open Intensity Files", dirname, filters, &selectedFilter,
-        baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+        globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                 : QFileDialog::DontUseNativeDialog);
     if (fileNames.isEmpty())
         return;
diff --git a/GUI/View/Import/RealDataTreeModel.cpp b/GUI/View/Import/RealDataTreeModel.cpp
index 555641ecac95e1a0d5e2c380f32c6ed7f5dfd0fb..a6e9a0fa4dbdc2d81bb3221f338232424565a3bb 100644
--- a/GUI/View/Import/RealDataTreeModel.cpp
+++ b/GUI/View/Import/RealDataTreeModel.cpp
@@ -214,10 +214,10 @@ QVariant RealDataTreeModel::data(const QModelIndex& index, int role) const
             return QVariant(Qt::AlignLeft | Qt::AlignVCenter);
 
         case Qt::BackgroundRole:
-            return baApp->styleSheetPalette().headlineBackground;
+            return globalSettings->styleSheetPalette().headlineBackground;
 
         case Qt::ForegroundRole:
-            return baApp->styleSheetPalette().headlineText;
+            return globalSettings->styleSheetPalette().headlineText;
 
         default:
             return QVariant();
diff --git a/GUI/View/Instrument/InstrumentLibraryEditor.cpp b/GUI/View/Instrument/InstrumentLibraryEditor.cpp
index 9ca14059f8e454ce39621dce178ea471f1880033..f880b0012fb85b15737b605051b7258fd9cde633 100644
--- a/GUI/View/Instrument/InstrumentLibraryEditor.cpp
+++ b/GUI/View/Instrument/InstrumentLibraryEditor.cpp
@@ -61,12 +61,12 @@ InstrumentLibraryEditor::InstrumentLibraryEditor(QWidget* parent)
     // ensure a current item when widget is shown
     // setCurrentItem(m_treeModel->topMostItem());
     GUI::Util::Style::setResizable(this);
-    baApp->settings().loadWindowSizeAndPos(this);
+    globalSettings->settings().loadWindowSizeAndPos(this);
 }
 
 InstrumentLibraryEditor::~InstrumentLibraryEditor()
 {
-    baApp->settings().saveWindowSizeAndPos(this);
+    globalSettings->settings().saveWindowSizeAndPos(this);
 }
 
 void InstrumentLibraryEditor::setGisasEnabled(bool b)
@@ -214,13 +214,13 @@ void InstrumentLibraryEditor::editNameAndDescription(InstrumentItem* item)
     connect(buttonBox, &QDialogButtonBox::accepted, &dlg, &QDialog::accept);
     connect(buttonBox, &QDialogButtonBox::rejected, &dlg, &QDialog::reject);
 
-    baApp->settings().loadWindowSizeAndPos(&dlg);
+    globalSettings->settings().loadWindowSizeAndPos(&dlg);
     if (dlg.exec() == QDialog::Accepted) {
         QModelIndex index = m_treeModel->indexForItem(item);
         m_treeModel->setData(index, nameEdit->text(), Qt::EditRole);
         m_treeModel->setData(index, descriptionEdit->toPlainText(), Qt::ToolTipRole);
     }
-    baApp->settings().saveWindowSizeAndPos(&dlg);
+    globalSettings->settings().saveWindowSizeAndPos(&dlg);
 }
 
 /*********************************************************************************************/
diff --git a/GUI/View/Intensity/SavePlotAssistant.cpp b/GUI/View/Intensity/SavePlotAssistant.cpp
index abc4071fd8961587b0ba83cdb0d590291286259e..a75beddcd44905e51b0369ae84dbccc04de30e17 100644
--- a/GUI/View/Intensity/SavePlotAssistant.cpp
+++ b/GUI/View/Intensity/SavePlotAssistant.cpp
@@ -134,7 +134,7 @@ void GUI::Plot::savePlot(const QString& dirname, QCustomPlot* plot, OutputData<d
     QString defaultName = dirname + "/untitled";
     QString fileName = QFileDialog::getSaveFileName(
         0, "Save Plot", defaultName, getFilterString(), &selectedFilter,
-        baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+        globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                 : QFileDialog::DontUseNativeDialog);
 
     QString nameToSave = composeFileName(fileName, selectedFilter);
diff --git a/GUI/View/Main/ActionManager.cpp b/GUI/View/Main/ActionManager.cpp
index cbbcac59720e54baf861d6d35dc41d40effab897..02b85fd2b3ca471073388cc29a88c57035edd71e 100644
--- a/GUI/View/Main/ActionManager.cpp
+++ b/GUI/View/Main/ActionManager.cpp
@@ -249,18 +249,18 @@ void ActionManager::onAboutToShowSettingsMenu()
 
     action = m_settingsMenu->addAction("&Create project on startup");
     action->setCheckable(true);
-    action->setChecked(baApp->settings().createNewProjectOnStartup());
+    action->setChecked(globalSettings->settings().createNewProjectOnStartup());
     connect(action, &QAction::toggled,
-            [](bool b) { baApp->settings().setCreateNewProjectOnStartup(b); });
+            [](bool b) { globalSettings->settings().setCreateNewProjectOnStartup(b); });
 
     m_settingsMenu->addSeparator();
 
     QActionGroup* unitActions = new QActionGroup(this);
     const auto addUnitAction = [=](const QString& text, bool isAngstrom) {
         auto action = m_settingsMenu->addAction(
-            text, [=]() { baApp->settings().setDefaultUnitIsAngstrom(isAngstrom); });
+            text, [=]() { globalSettings->settings().setDefaultUnitIsAngstrom(isAngstrom); });
         action->setCheckable(true);
-        action->setChecked(baApp->settings().defaultUnitIsAngstrom() == isAngstrom);
+        action->setChecked(globalSettings->settings().defaultUnitIsAngstrom() == isAngstrom);
         unitActions->addAction(action);
     };
 
@@ -272,11 +272,11 @@ void ActionManager::onAboutToShowSettingsMenu()
     QActionGroup* styleActions = new QActionGroup(this);
     const auto addStyleAction = [=](const QString& text, ApplicationSettings::Style style) {
         auto action = m_settingsMenu->addAction(text, [=]() {
-            baApp->settings().setStyleToUse(style);
-            baApp->loadStyle(style);
+            globalSettings->settings().setStyleToUse(style);
+            globalSettings->loadStyle(style);
         });
         action->setCheckable(true);
-        action->setChecked(baApp->currentStyle() == style);
+        action->setChecked(globalSettings->currentStyle() == style);
         styleActions->addAction(action);
     };
 
diff --git a/GUI/View/Main/MainWindow.cpp b/GUI/View/Main/MainWindow.cpp
index e54565f5b6f99d7974607fbe651e0a14213dbe7f..fca01eb47f6fb9d443b076f040eacd06be45d7db 100644
--- a/GUI/View/Main/MainWindow.cpp
+++ b/GUI/View/Main/MainWindow.cpp
@@ -111,7 +111,7 @@ MainWindow::MainWindow()
 
     updateTitle();
 
-    if (baApp->settings().createNewProjectOnStartup())
+    if (globalSettings->settings().createNewProjectOnStartup())
         m_projectManager->newProject();
 }
 
diff --git a/GUI/View/Main/NewProjectDialog.cpp b/GUI/View/Main/NewProjectDialog.cpp
index 053dc7d176d5a5a0c951111a2ad7289d604db0de..36fd6ce695dadf391d612c65d4131081ddcdec64 100644
--- a/GUI/View/Main/NewProjectDialog.cpp
+++ b/GUI/View/Main/NewProjectDialog.cpp
@@ -112,7 +112,7 @@ void NewProjectDialog::onBrowseDirectory()
 {
     QFileDialog::Options options = QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly;
 
-    if (!baApp->settings().useNativeFileDialog())
+    if (!globalSettings->settings().useNativeFileDialog())
         options |= QFileDialog::DontUseNativeDialog;
 
     const QString dirname =
diff --git a/GUI/View/Main/ProjectManager.cpp b/GUI/View/Main/ProjectManager.cpp
index 618cf96da9c935220bf87b48441e51b4f2c62cf3..b4f041ac7f6b9a96c85e2a3b9547885917872a07 100644
--- a/GUI/View/Main/ProjectManager.cpp
+++ b/GUI/View/Main/ProjectManager.cpp
@@ -309,7 +309,7 @@ void ProjectManager::openProject(QString fileName)
         fileName = QFileDialog::getOpenFileName(
             m_mainWindow, "Open project file", workingDirectory(),
             "BornAgain project Files (*.pro)", nullptr,
-            baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+            globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                     : QFileDialog::DontUseNativeDialog);
         if (fileName.isEmpty())
             return;
@@ -345,12 +345,12 @@ void ProjectManager::createNewProject()
     gSessionData->projectDocument = new ProjectDocument();
 
     const QVariant defFunctionalities =
-        baApp->settings().defaultFunctionalities(toVariant(ProjectDocument::All));
+        globalSettings->settings().defaultFunctionalities(toVariant(ProjectDocument::All));
     gSessionData->projectDocument->setFunctionalities(toFunctionalities(defFunctionalities));
     gSessionData->projectDocument->setSingleInstrumentMode(
-        baApp->settings().defaultIsSingleInstrumentMode());
+        globalSettings->settings().defaultIsSingleInstrumentMode());
     gSessionData->projectDocument->setSingleSampleMode(
-        baApp->settings().defaultIsSingleSampleMode());
+        globalSettings->settings().defaultIsSingleSampleMode());
 
     gSessionData->projectDocument->setProjectName("Untitled");
     gSessionData->projectDocument->setModified(false);
diff --git a/GUI/View/Main/PyImportAssistant.cpp b/GUI/View/Main/PyImportAssistant.cpp
index 08c078b44e9076687b1ef2bf3bab6c214c839939..b56de4512812d9b7efdbf456607c2c4957701db5 100644
--- a/GUI/View/Main/PyImportAssistant.cpp
+++ b/GUI/View/Main/PyImportAssistant.cpp
@@ -101,7 +101,7 @@ QString PyImportAssistant::fileNameToOpen()
 
     QString result = QFileDialog::getOpenFileName(
         m_parentForDialogs, "Open python script", dirname, "Python scripts (*.py)", nullptr,
-        baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+        globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                 : QFileDialog::DontUseNativeDialog);
 
     saveImportDir(result);
diff --git a/GUI/View/MaterialEditor/MaterialEditorDialog.cpp b/GUI/View/MaterialEditor/MaterialEditorDialog.cpp
index e4fc16cd5f3c5114781169321be1fc33369441c1..03087f98ec941eb5ad5f3018379a457620f48823 100644
--- a/GUI/View/MaterialEditor/MaterialEditorDialog.cpp
+++ b/GUI/View/MaterialEditor/MaterialEditorDialog.cpp
@@ -98,7 +98,7 @@ MaterialEditorDialog::MaterialEditorDialog(ProjectDocument* document, QWidget* p
     m_ui->mainLayout->insertWidget(0, toolbar);
 
     GUI::Util::Style::setResizable(this);
-    baApp->settings().loadWindowSizeAndPos(this);
+    globalSettings->settings().loadWindowSizeAndPos(this);
 
     connect(m_ui->treeView->selectionModel(), &QItemSelectionModel::currentChanged, this,
             &MaterialEditorDialog::fill);
@@ -144,7 +144,7 @@ MaterialEditorDialog::MaterialEditorDialog(ProjectDocument* document, QWidget* p
 
 MaterialEditorDialog::~MaterialEditorDialog()
 {
-    baApp->settings().saveWindowSizeAndPos(this);
+    globalSettings->settings().saveWindowSizeAndPos(this);
 }
 
 //! replaces original material model with the model modified by MaterialEditor
diff --git a/GUI/View/Projection/SaveProjectionsAssistant.cpp b/GUI/View/Projection/SaveProjectionsAssistant.cpp
index a501019e6d05a69b4f90657291b9e367b720c7f4..fea7a475786ae7764726ce18941e18c7071c54d3 100644
--- a/GUI/View/Projection/SaveProjectionsAssistant.cpp
+++ b/GUI/View/Projection/SaveProjectionsAssistant.cpp
@@ -71,7 +71,7 @@ void SaveProjectionsAssistant::saveProjections(QWidget* parent, IntensityDataIte
     QString defaultName = gSessionData->projectDocument->userExportDir() + "/untitled.txt";
     QString fileName = QFileDialog::getSaveFileName(
         parent, "Save projections data", defaultName, "", nullptr,
-        baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+        globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                 : QFileDialog::DontUseNativeDialog);
 
     if (fileName.isEmpty())
diff --git a/GUI/View/Realspace/RealSpaceCanvas.cpp b/GUI/View/Realspace/RealSpaceCanvas.cpp
index bf5d89853b5462211bf02f16aaa28be7d37ade06..7cff2e0d7a14b1ea051f12f2ef8e3c8fb803b1cd 100644
--- a/GUI/View/Realspace/RealSpaceCanvas.cpp
+++ b/GUI/View/Realspace/RealSpaceCanvas.cpp
@@ -99,7 +99,7 @@ void RealSpaceCanvas::savePicture(const QPixmap& pixmap)
     QString defaultName = dirname + "/untitled";
     QString fileName = QFileDialog::getSaveFileName(
         nullptr, "Save 3D real space view", defaultName, selectedFilter, nullptr,
-        baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+        globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                 : QFileDialog::DontUseNativeDialog);
     QString nameToSave =
         fileName.endsWith(defaultExtension) ? fileName : fileName + defaultExtension;
diff --git a/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp b/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp
index 89281d78c24e41ba0bfe50b910e4f3dbdcfbf41d..edb2e32b82b4045b486d1887e1028f34f3575fa9 100644
--- a/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp
+++ b/GUI/View/SampleDesigner/LayerOrientedSampleEditor.cpp
@@ -73,7 +73,7 @@ LayerOrientedSampleEditor::LayerOrientedSampleEditor(QWidget* parent)
     auto* ag = new QActionGroup(this);
     ag->addAction(asNanometerAction);
     ag->addAction(m_asAngstromAction);
-    if (baApp->settings().defaultUnitIsAngstrom())
+    if (globalSettings->settings().defaultUnitIsAngstrom())
         m_asAngstromAction->setChecked(true);
     else
         asNanometerAction->setChecked(true);
diff --git a/GUI/View/SampleDesigner/SampleListView.cpp b/GUI/View/SampleDesigner/SampleListView.cpp
index 782be800525238d457fdad420a05b1c420308e54..0883862de6f622d8c973a2251271798d1a254acb 100644
--- a/GUI/View/SampleDesigner/SampleListView.cpp
+++ b/GUI/View/SampleDesigner/SampleListView.cpp
@@ -193,7 +193,7 @@ void SampleListView::editNameAndDescription(MultiLayerItem* item)
     connect(buttonBox, &QDialogButtonBox::accepted, &dlg, &QDialog::accept);
     connect(buttonBox, &QDialogButtonBox::rejected, &dlg, &QDialog::reject);
 
-    baApp->settings().loadWindowSizeAndPos(&dlg);
+    globalSettings->settings().loadWindowSizeAndPos(&dlg);
     if (dlg.exec() == QDialog::Accepted) {
         QModelIndex index = m_model->indexForItem(item);
         m_model->setData(index, nameEdit->text(), Qt::EditRole);
@@ -202,7 +202,7 @@ void SampleListView::editNameAndDescription(MultiLayerItem* item)
         // has to be updated -> schedule a re-layout
         scheduleDelayedItemsLayout();
     }
-    baApp->settings().saveWindowSizeAndPos(&dlg);
+    globalSettings->settings().saveWindowSizeAndPos(&dlg);
 }
 
 void SampleListView::onCurrentChanged(const QModelIndex& index)
diff --git a/GUI/View/Script/PythonScriptWidget.cpp b/GUI/View/Script/PythonScriptWidget.cpp
index 5c8b4759ad0fe463d08c2c1fc5a2f8be71d404cb..f68eb905e4e7e1e254091e3a1b65afa1de08a83c 100644
--- a/GUI/View/Script/PythonScriptWidget.cpp
+++ b/GUI/View/Script/PythonScriptWidget.cpp
@@ -72,13 +72,13 @@ PythonScriptWidget::PythonScriptWidget(QWidget* parent)
 
     setAttribute(Qt::WA_DeleteOnClose, true);
     GUI::Util::Style::setResizable(this);
-    baApp->settings().loadWindowSizeAndPos(this);
+    globalSettings->settings().loadWindowSizeAndPos(this);
 }
 
 
 PythonScriptWidget::~PythonScriptWidget()
 {
-    baApp->settings().saveWindowSizeAndPos(this);
+    globalSettings->settings().saveWindowSizeAndPos(this);
 }
 
 void PythonScriptWidget::generatePythonScript(const MultiLayerItem* sampleItem,
@@ -121,7 +121,7 @@ void PythonScriptWidget::onExportToFileButton()
 
     QString fileName = QFileDialog::getSaveFileName(
         nullptr, "Save file", defaultName, filters, &defaultFilter,
-        baApp->settings().useNativeFileDialog() ? QFileDialog::Options()
+        globalSettings->settings().useNativeFileDialog() ? QFileDialog::Options()
                                                 : QFileDialog::DontUseNativeDialog);
 
     if (fileName.isEmpty())
diff --git a/GUI/View/Tool/GroupBoxCollapser.cpp b/GUI/View/Tool/GroupBoxCollapser.cpp
index d9c28d016c26ce0e5106e016af88ff75f21c7678..0c72850b9aa63a5239ae0f494d3bd863e9b99834 100644
--- a/GUI/View/Tool/GroupBoxCollapser.cpp
+++ b/GUI/View/Tool/GroupBoxCollapser.cpp
@@ -84,7 +84,7 @@ GroupBoxCollapser::GroupBoxCollapser(QGroupBox* groupBox) : QObject(groupBox)
 
     m_toggleButton = new QToolButton(groupBox);
     m_toggleButton->setObjectName("GroupBoxToggler");
-    if (baApp->currentStyle() == ApplicationSettings::Style::native)
+    if (globalSettings->currentStyle() == ApplicationSettings::Style::native)
         m_toggleButton->setStyleSheet(
             "QToolButton { border: none; text-align: left; font: bold; padding: 5px}");
     m_toggleButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
diff --git a/GUI/View/Toplevel/ProjectSettingsView.cpp b/GUI/View/Toplevel/ProjectSettingsView.cpp
index 3cbb492a2d517b0640061a87821d6ad4ee7d1069..8aceb07a6e96ccabd6d2af06af3c10138cf5acc4 100644
--- a/GUI/View/Toplevel/ProjectSettingsView.cpp
+++ b/GUI/View/Toplevel/ProjectSettingsView.cpp
@@ -108,10 +108,10 @@ void ProjectSettingsView::updateInformation()
 
 void ProjectSettingsView::storeAsDefaults()
 {
-    baApp->settings().setDefaultFunctionalities(toVariant(functionalities()));
-    baApp->settings().setDefaultIsSingleInstrumentMode(
+    globalSettings->settings().setDefaultFunctionalities(toVariant(functionalities()));
+    globalSettings->settings().setDefaultIsSingleInstrumentMode(
         m_ui->singleInstrumentModeRadio->isChecked());
-    baApp->settings().setDefaultIsSingleSampleMode(m_ui->singleSampleModeRadio->isChecked());
+    globalSettings->settings().setDefaultIsSingleSampleMode(m_ui->singleSampleModeRadio->isChecked());
 }
 
 void ProjectSettingsView::onSingleInstrumentRadioToggled(bool newState)