diff --git a/Fit/Adapter/MinimizerAdapter.cpp b/Fit/Adapter/MinimizerAdapter.cpp
index 59f7fc96c3238b06be7c5c947533106fa54cb6ac..5e73b7fcd805484da3e20d7ae0615c56fec93842 100644
--- a/Fit/Adapter/MinimizerAdapter.cpp
+++ b/Fit/Adapter/MinimizerAdapter.cpp
@@ -144,15 +144,15 @@ void MinimizerAdapter::setParameter(unsigned int index, const mumufit::Parameter
         success = rootMinimizer()->SetFixedVariable(index, par.name().c_str(), par.value());
 
     else if (par.limits().isLimited())
-        success = rootMinimizer()->SetLimitedVariable(index, par.name().c_str(), par.value(),
-                                                      par.step(), par.limits().lowerLimit(),
-                                                      par.limits().upperLimit());
+        success =
+            rootMinimizer()->SetLimitedVariable(index, par.name().c_str(), par.value(), par.step(),
+                                                par.limits().min(), par.limits().max());
     else if (par.limits().isLowerLimited())
         success = rootMinimizer()->SetLowerLimitedVariable(index, par.name().c_str(), par.value(),
-                                                           par.step(), par.limits().lowerLimit());
+                                                           par.step(), par.limits().min());
     else if (par.limits().isUpperLimited())
         success = rootMinimizer()->SetUpperLimitedVariable(index, par.name().c_str(), par.value(),
-                                                           par.step(), par.limits().upperLimit());
+                                                           par.step(), par.limits().max());
 
     else if (par.limits().isLimitless())
         success = rootMinimizer()->SetVariable(index, par.name().c_str(), par.value(), par.step());
diff --git a/Fit/Param/AttLimits.cpp b/Fit/Param/AttLimits.cpp
index bca13d4432e440346a9c0cbc96c55b0b98f0e40c..5c0fb8f25cc0233b571e861b3f4ef60f85016fd6 100644
--- a/Fit/Param/AttLimits.cpp
+++ b/Fit/Param/AttLimits.cpp
@@ -88,14 +88,14 @@ bool AttLimits::isLimitless() const
     return m_att_fixed.isFree() && !m_limits.hasLowerLimit() && !m_limits.hasUpperLimit();
 }
 
-double AttLimits::lowerLimit() const
+double AttLimits::min() const
 {
-    return m_limits.lowerLimit();
+    return m_limits.min();
 }
 
-double AttLimits::upperLimit() const
+double AttLimits::max() const
 {
-    return m_limits.upperLimit();
+    return m_limits.max();
 }
 
 void AttLimits::setFixed(bool isFixed)
@@ -123,12 +123,12 @@ std::string AttLimits::toString() const
     else if (isLimitless())
         result << "free";
     else if (isLowerLimited())
-        result << "lowerLimited(" << std::scientific << std::setprecision(2) << lowerLimit() << ")";
+        result << "lowerLimited(" << std::scientific << std::setprecision(2) << min() << ")";
     else if (isUpperLimited())
-        result << "upperLimited(" << std::scientific << std::setprecision(2) << upperLimit() << ")";
+        result << "upperLimited(" << std::scientific << std::setprecision(2) << max() << ")";
     else if (isLimited())
-        result << "limited(" << std::scientific << std::setprecision(2) << lowerLimit() << ","
-               << std::scientific << std::setprecision(2) << upperLimit() << ")";
+        result << "limited(" << std::scientific << std::setprecision(2) << min() << ","
+               << std::scientific << std::setprecision(2) << max() << ")";
 
     return result.str();
 }
diff --git a/Fit/Param/AttLimits.h b/Fit/Param/AttLimits.h
index 450a709435cfe25add99fb445768eebc01a8d960..0c5b669051b84bec61784a72ce254e9dabd890f7 100644
--- a/Fit/Param/AttLimits.h
+++ b/Fit/Param/AttLimits.h
@@ -39,8 +39,8 @@ public:
     bool isLowerLimited() const;
     bool isLimitless() const;
 
-    double lowerLimit() const;
-    double upperLimit() const;
+    double min() const;
+    double max() const;
 
     void setFixed(bool isFixed);
 
diff --git a/Fit/Param/RealLimits.cpp b/Fit/Param/RealLimits.cpp
index 100542f6e7f65ba499e23d9bd5d9fb8f7d32cdaa..48269879f0e2c0414884a810eeb5c071a7ad4212 100644
--- a/Fit/Param/RealLimits.cpp
+++ b/Fit/Param/RealLimits.cpp
@@ -40,7 +40,7 @@ RealLimits RealLimits::scaledLimits(double factor) const
     return RealLimits(m_has_lower_limit, m_has_upper_limit, m_lower_limit * factor,
                       m_upper_limit * factor);
 }
-double RealLimits::lowerLimit() const
+double RealLimits::min() const
 {
     return m_lower_limit;
 }
@@ -56,7 +56,7 @@ void RealLimits::removeLowerLimit()
     m_lower_limit = 0.;
     m_has_lower_limit = false;
 }
-double RealLimits::upperLimit() const
+double RealLimits::max() const
 {
     return m_upper_limit;
 }
@@ -143,14 +143,14 @@ std::string RealLimits::toString() const
         result << "nonnegative";
 
     else if (isLowerLimited())
-        result << "lowerLimited(" << std::fixed << std::setprecision(2) << lowerLimit() << ")";
+        result << "lowerLimited(" << std::fixed << std::setprecision(2) << min() << ")";
 
     else if (isUpperLimited())
-        result << "upperLimited(" << std::fixed << std::setprecision(2) << upperLimit() << ")";
+        result << "upperLimited(" << std::fixed << std::setprecision(2) << max() << ")";
 
     else if (isLimited())
-        result << "limited(" << std::fixed << std::setprecision(2) << lowerLimit() << ","
-               << std::fixed << std::setprecision(2) << upperLimit() << ")";
+        result << "limited(" << std::fixed << std::setprecision(2) << min() << "," << std::fixed
+               << std::setprecision(2) << max() << ")";
 
     return result.str();
 }
@@ -174,13 +174,12 @@ bool RealLimits::isLimitless() const
 
 bool RealLimits::isPositive() const
 {
-    return hasLowerLimit() && !hasUpperLimit()
-           && lowerLimit() == std::numeric_limits<double>::min();
+    return hasLowerLimit() && !hasUpperLimit() && min() == std::numeric_limits<double>::min();
 }
 
 bool RealLimits::isNonnegative() const
 {
-    return hasLowerLimit() && !hasUpperLimit() && lowerLimit() == 0.0;
+    return hasLowerLimit() && !hasUpperLimit() && min() == 0.0;
 }
 
 bool RealLimits::isLowerLimited() const
diff --git a/Fit/Param/RealLimits.h b/Fit/Param/RealLimits.h
index a1d3a1a0c3fb5c158cca95f53667fccc1a548b18..aeb3cc6ea4db32bd5a603c6b32373dcf3279aa3c 100644
--- a/Fit/Param/RealLimits.h
+++ b/Fit/Param/RealLimits.h
@@ -32,7 +32,7 @@ public:
     bool hasLowerLimit() const { return m_has_lower_limit; }
 
     //! Returns lower limit
-    double lowerLimit() const;
+    double min() const;
 
     //! Sets lower limit
     void setLowerLimit(double value);
@@ -44,7 +44,7 @@ public:
     bool hasUpperLimit() const { return m_has_upper_limit; }
 
     //! Returns upper limit
-    double upperLimit() const;
+    double max() const;
 
     //! Sets upper limit
     void setUpperLimit(double value);
diff --git a/GUI/Model/Job/FitParameterItem.cpp b/GUI/Model/Job/FitParameterItem.cpp
index 2b7894b8f51d83f1ff61e39713fa1006b3d240e7..4b9d87c6ec4e842f67f65864b2801040bed6c51c 100644
--- a/GUI/Model/Job/FitParameterItem.cpp
+++ b/GUI/Model/Job/FitParameterItem.cpp
@@ -214,11 +214,11 @@ void FitParameterItem::initMinMaxValues(const RealLimits& limits)
     double min = value - dr;
     double max = value + dr;
 
-    if (limits.hasLowerLimit() && min < limits.lowerLimit())
-        min = limits.lowerLimit();
+    if (limits.hasLowerLimit() && min < limits.min())
+        min = limits.min();
 
-    if (limits.hasUpperLimit() && max > limits.upperLimit())
-        max = limits.upperLimit();
+    if (limits.hasUpperLimit() && max > limits.max())
+        max = limits.max();
 
     setMinimum(min);
     m_minItem->setLimits(limits);
diff --git a/GUI/View/Instrument/ScanEditor.cpp b/GUI/View/Instrument/ScanEditor.cpp
index 79d383102e2361d0df6355a76570c4a809823a55..b4e3129a5d0637ad8dbf0efd74d7c63021117850 100644
--- a/GUI/View/Instrument/ScanEditor.cpp
+++ b/GUI/View/Instrument/ScanEditor.cpp
@@ -75,5 +75,4 @@ ScanEditor::ScanEditor(QWidget* parent, ScanItem* item, InstrumentNotifier* ec,
         hLayout->addWidget(footprintEditor);
         connect(footprintEditor, &FootprintForm::dataChanged, this, &ScanEditor::dataChanged);
     }
-
 }
diff --git a/GUI/View/Numeric/DoubleSpinBox.cpp b/GUI/View/Numeric/DoubleSpinBox.cpp
index b3192c05ba58b99148c10db723886041ea71206e..42573f98c8bc7371930277a385613bd3fbcea54d 100644
--- a/GUI/View/Numeric/DoubleSpinBox.cpp
+++ b/GUI/View/Numeric/DoubleSpinBox.cpp
@@ -31,9 +31,9 @@ QString toString(double val, int decimal_points = 6)
     if (val == 0)
         return "0";
 
-    QString result = (std::abs(val) >= 10000 || std::abs(val) < 0.1) ?
-	QString::number(val, 'e', decimal_points)
-	: QString::number(val, 'f', decimal_points);
+    QString result = (std::abs(val) >= 10000 || std::abs(val) < 0.1)
+                         ? QString::number(val, 'e', decimal_points)
+                         : QString::number(val, 'f', decimal_points);
 
     // suppress ".0" in mantissa; normalize exponent
     return result.replace(QRegularExpression("(\\.?0+)?((e)([\\+]?)([-]?)(0*)([1-9].*))?$"),
@@ -56,9 +56,9 @@ DoubleSpinBox::DoubleSpinBox(DoubleProperty& d)
     lineEdit()->setText(toString(m_valueProperty.value()));
 
     QObject::connect(this, &QAbstractSpinBox::editingFinished, [this]() {
-	setValue(fromDisplay());
-	m_old_dir = 0;
-	m_step = ::step0;
+        setValue(fromDisplay());
+        m_old_dir = 0;
+        m_step = ::step0;
     });
     // setSingleStep(m_valueProperty.step());
 }
@@ -96,14 +96,14 @@ void DoubleSpinBox::stepBy(int steps)
 {
     const int new_dir = steps > 0 ? +1 : -1;
     if (m_old_dir == new_dir)
-	m_step = std::min(m_step * (std::abs(steps) == 1 ? 1.2 : 2.) * (1 + m_step), 9.);
+        m_step = std::min(m_step * (std::abs(steps) == 1 ? 1.2 : 2.) * (1 + m_step), 9.);
     else if (m_old_dir == -new_dir)
-	m_step = std::abs(steps) == 1 ? std::max(m_step / 9, 1e-6) : m_step;
+        m_step = std::abs(steps) == 1 ? std::max(m_step / 9, 1e-6) : m_step;
 
     const double fac = (steps > 0) ^ (m_valueProperty.value() < 0) ? 1 + m_step : 1 / (1 + m_step);
-    const int decimals = std::min(6, std::max(2, (int)(2-std::log10(m_step))));
+    const int decimals = std::min(6, std::max(2, (int)(2 - std::log10(m_step))));
 
-    //std::cout << "DEBUG steps=" << steps << " m_s=" << m_step << " fac=" << fac
+    // std::cout << "DEBUG steps=" << steps << " m_s=" << m_step << " fac=" << fac
     //	      << " dec=" << decimals << " old=" << m_valueProperty.value()
     //	      << " new=" << m_valueProperty.value() * fac
     //	      << " rnd=" << Numeric::round_decimal(m_valueProperty.value() * fac, decimals)
diff --git a/GUI/View/Numeric/NumWidgetUtil.cpp b/GUI/View/Numeric/NumWidgetUtil.cpp
index c0a72d145c34e96df6d18fa40d7911b48c15afec..0d8ba712906c71ffccdfe11bf5e626a558b247c5 100644
--- a/GUI/View/Numeric/NumWidgetUtil.cpp
+++ b/GUI/View/Numeric/NumWidgetUtil.cpp
@@ -53,10 +53,8 @@ QSpinBox* GUI::Util::createIntSpinBox(function<int()> getter, function<void(int)
     auto* spin = new QSpinBox;
     spin->setFocusPolicy(Qt::StrongFocus);
 
-    spin->setMinimum(limits.hasLowerLimit() ? limits.lowerLimit()
-                                            : -std::numeric_limits<int>::max());
-    spin->setMaximum(limits.hasUpperLimit() ? limits.upperLimit()
-                                            : std::numeric_limits<int>::max());
+    spin->setMinimum(limits.hasLowerLimit() ? limits.min() : -std::numeric_limits<int>::max());
+    spin->setMaximum(limits.hasUpperLimit() ? limits.max() : std::numeric_limits<int>::max());
     spin->setValue(getter());
     spin->setToolTip(tooltip);
 
@@ -81,10 +79,8 @@ QDoubleSpinBox* GUI::Util::createDoubleSpinBox(function<double()> getter,
 {
     auto* spin = new QDoubleSpinBox;
     spin->setFocusPolicy(Qt::StrongFocus);
-    spin->setMinimum(limits.hasLowerLimit() ? limits.lowerLimit()
-                                            : -std::numeric_limits<int>::max());
-    spin->setMaximum(limits.hasUpperLimit() ? limits.upperLimit()
-                                            : std::numeric_limits<int>::max());
+    spin->setMinimum(limits.hasLowerLimit() ? limits.min() : -std::numeric_limits<int>::max());
+    spin->setMaximum(limits.hasUpperLimit() ? limits.max() : std::numeric_limits<int>::max());
     spin->setDecimals(3);
     spin->setSingleStep(0.01);
     spin->setValue(getter());
diff --git a/GUI/View/Numeric/NumberUtil.cpp b/GUI/View/Numeric/NumberUtil.cpp
index 0c08c6ad58f1e562cc51def4a0ca5d3f1d40085a..1b560df942fe0c2dc044034651da22244b35233d 100644
--- a/GUI/View/Numeric/NumberUtil.cpp
+++ b/GUI/View/Numeric/NumberUtil.cpp
@@ -35,8 +35,8 @@ void GUI::View::NumberUtil::configScientificDoubleEdit(QLineEdit* edit, const Re
     auto* validator = new QDoubleValidator(0.0, 1e200, 1000, edit);
     validator->setNotation(QDoubleValidator::ScientificNotation);
 
-    const double minimum = limits.hasLowerLimit() ? std::max(limits.lowerLimit(), -1e200) : -1e200;
-    const double maximum = limits.hasUpperLimit() ? std::min(limits.upperLimit(), +1e200) : +1e200;
+    const double minimum = limits.hasLowerLimit() ? std::max(limits.min(), -1e200) : -1e200;
+    const double maximum = limits.hasUpperLimit() ? std::min(limits.max(), +1e200) : +1e200;
     validator->setRange(minimum, maximum, 1000);
 
     edit->setValidator(validator);
@@ -50,9 +50,9 @@ void GUI::View::NumberUtil::configSpinBox(DoubleSpinBox* /*spinBox*/, int /*deci
     spinBox->setMinimum(std::numeric_limits<double>::lowest());
 
     if (limits.hasLowerLimit())
-        spinBox->setMinimum(limits.lowerLimit());
+        spinBox->setMinimum(limits.min());
     if (limits.hasUpperLimit())
-        spinBox->setMaximum(limits.upperLimit());
+        spinBox->setMaximum(limits.max());
 
     spinBox->setDecimals(decimals);
     spinBox->setSingleStep(singleStep(decimals));
@@ -66,9 +66,9 @@ void GUI::View::NumberUtil::configSpinBox(QDoubleSpinBox* spinBox, int decimals,
     spinBox->setMinimum(std::numeric_limits<double>::lowest());
 
     if (limits.hasLowerLimit())
-        spinBox->setMinimum(limits.lowerLimit());
+        spinBox->setMinimum(limits.min());
     if (limits.hasUpperLimit())
-        spinBox->setMaximum(limits.upperLimit());
+        spinBox->setMaximum(limits.max());
 
     spinBox->setDecimals(decimals);
     spinBox->setSingleStep(singleStep(decimals));
@@ -81,9 +81,9 @@ void GUI::View::NumberUtil::configSpinBox(ScientificSpinBox* spinBox, int decima
     spinBox->setMinimum(std::numeric_limits<double>::lowest());
 
     if (limits.hasLowerLimit())
-        spinBox->setMinimum(limits.lowerLimit());
+        spinBox->setMinimum(limits.min());
     if (limits.hasUpperLimit())
-        spinBox->setMaximum(limits.upperLimit());
+        spinBox->setMaximum(limits.max());
 
     spinBox->setDecimals(decimals);
     spinBox->setSingleStep(singleStep(decimals));
diff --git a/GUI/View/ParEdit/CustomEditors.cpp b/GUI/View/ParEdit/CustomEditors.cpp
index 8fc8e097b5b172bd6a5dfa0ca2398a37b13b208f..62bea657ef506e522935a4bd1e0bfc3f3c1f8b31 100644
--- a/GUI/View/ParEdit/CustomEditors.cpp
+++ b/GUI/View/ParEdit/CustomEditors.cpp
@@ -162,9 +162,9 @@ ScientificSpinBoxEditor::ScientificSpinBoxEditor(QWidget* parent)
 
 void ScientificSpinBoxEditor::setLimits(const RealLimits& limits)
 {
-    m_doubleEditor->setMinimum(limits.hasLowerLimit() ? limits.lowerLimit()
+    m_doubleEditor->setMinimum(limits.hasLowerLimit() ? limits.min()
                                                       : std::numeric_limits<double>::lowest());
-    m_doubleEditor->setMaximum(limits.hasUpperLimit() ? limits.upperLimit()
+    m_doubleEditor->setMaximum(limits.hasUpperLimit() ? limits.max()
                                                       : std::numeric_limits<double>::max());
 }
 
diff --git a/GUI/View/ParEdit/ParameterTuningDelegate.cpp b/GUI/View/ParEdit/ParameterTuningDelegate.cpp
index 5be9fc757f1452d0915bd1550c0e5ad5c75c18aa..523799c41e1be73017f9464024a1cb11092a1d9e 100644
--- a/GUI/View/ParEdit/ParameterTuningDelegate.cpp
+++ b/GUI/View/ParEdit/ParameterTuningDelegate.cpp
@@ -59,11 +59,11 @@ int ParameterTuningDelegate::TuningData::value_to_slider(double value)
     m_rmin = value - dr;
     m_rmax = value + dr;
 
-    if (m_item_limits.hasLowerLimit() && m_rmin < m_item_limits.lowerLimit())
-        m_rmin = m_item_limits.lowerLimit();
+    if (m_item_limits.hasLowerLimit() && m_rmin < m_item_limits.min())
+        m_rmin = m_item_limits.min();
 
-    if (m_item_limits.hasUpperLimit() && m_rmax > m_item_limits.upperLimit())
-        m_rmax = m_item_limits.upperLimit();
+    if (m_item_limits.hasUpperLimit() && m_rmax > m_item_limits.max())
+        m_rmax = m_item_limits.max();
 
     double result = m_smin + (value - m_rmin) * (m_smax - m_smin) / (m_rmax - m_rmin);
     return static_cast<int>(result);
@@ -162,8 +162,8 @@ QWidget* ParameterTuningDelegate::createEditor(QWidget* parent, const QStyleOpti
     m_valueBox->setFixedWidth(105);
     m_valueBox->setDecimals(m_currentItem->decimalsOfLink());
     m_valueBox->setSingleStep(m_tuning_info.step());
-    m_valueBox->setMinimum(limits.hasLowerLimit() ? limits.lowerLimit() : minimum_doublespin_value);
-    m_valueBox->setMaximum(limits.hasUpperLimit() ? limits.upperLimit() : maximum_doublespin_value);
+    m_valueBox->setMinimum(limits.hasLowerLimit() ? limits.min() : minimum_doublespin_value);
+    m_valueBox->setMaximum(limits.hasUpperLimit() ? limits.max() : maximum_doublespin_value);
     m_valueBox->setValue(value);
 
     connect(m_valueBox, &ScientificSpinBox::valueChanged, this,
diff --git a/Tests/Py/Fit/minimizer_api.py b/Tests/Py/Fit/minimizer_api.py
index 54e8dbadd718cb05b2bdc4b1e9d079229199f15e..e8d11e274ea07ee1177a29706ab9b1afb684f4f9 100644
--- a/Tests/Py/Fit/minimizer_api.py
+++ b/Tests/Py/Fit/minimizer_api.py
@@ -44,13 +44,13 @@ class MinimizerAPITest(unittest.TestCase):
 
         self.assertTrue(params["par0"].limits().isLimitless())
         self.assertTrue(params["par1"].limits().isLowerLimited())
-        self.assertEqual(params["par1"].limits().lowerLimit(), 1)
+        self.assertEqual(params["par1"].limits().min(), 1)
         self.assertTrue(params["par2"].limits().isUpperLimited())
-        self.assertEqual(params["par2"].limits().upperLimit(), 2)
+        self.assertEqual(params["par2"].limits().max(), 2)
 
         self.assertTrue(params["par3"].limits().isLimited())
-        self.assertEqual(params["par3"].limits().lowerLimit(), 1)
-        self.assertEqual(params["par3"].limits().upperLimit(), 2)
+        self.assertEqual(params["par3"].limits().min(), 1)
+        self.assertEqual(params["par3"].limits().max(), 2)
 
         self.assertTrue(params["par4"].limits().isFixed())
 
diff --git a/Tests/Unit/Fit/AttLimitsTest.cpp b/Tests/Unit/Fit/AttLimitsTest.cpp
index b634e3f7493d42e88cff031b3ff11696fb0e9a0d..0b44f4938a964ddcce2f2e71f9092007ef5d9e63 100644
--- a/Tests/Unit/Fit/AttLimitsTest.cpp
+++ b/Tests/Unit/Fit/AttLimitsTest.cpp
@@ -20,8 +20,8 @@ TEST(AttLimitsTest, LowerLimited)
     EXPECT_FALSE(limits.isUpperLimited());
     EXPECT_TRUE(limits.isLowerLimited());
     EXPECT_FALSE(limits.isLimitless());
-    EXPECT_EQ(1.0, limits.lowerLimit());
-    EXPECT_EQ(0.0, limits.upperLimit());
+    EXPECT_EQ(1.0, limits.min());
+    EXPECT_EQ(0.0, limits.max());
 }
 
 TEST(AttLimitsTest, UpperLimited)
@@ -32,8 +32,8 @@ TEST(AttLimitsTest, UpperLimited)
     EXPECT_TRUE(limits.isUpperLimited());
     EXPECT_FALSE(limits.isLowerLimited());
     EXPECT_FALSE(limits.isLimitless());
-    EXPECT_EQ(0.0, limits.lowerLimit());
-    EXPECT_EQ(1.0, limits.upperLimit());
+    EXPECT_EQ(0.0, limits.min());
+    EXPECT_EQ(1.0, limits.max());
 }
 
 TEST(AttLimitsTest, Fixed)
@@ -44,8 +44,8 @@ TEST(AttLimitsTest, Fixed)
     EXPECT_FALSE(limits.isUpperLimited());
     EXPECT_FALSE(limits.isLowerLimited());
     EXPECT_FALSE(limits.isLimitless());
-    EXPECT_EQ(0.0, limits.lowerLimit());
-    EXPECT_EQ(0.0, limits.upperLimit());
+    EXPECT_EQ(0.0, limits.min());
+    EXPECT_EQ(0.0, limits.max());
 }
 
 TEST(AttLimitsTest, Limited)
@@ -56,8 +56,8 @@ TEST(AttLimitsTest, Limited)
     EXPECT_FALSE(limits.isUpperLimited());
     EXPECT_FALSE(limits.isLowerLimited());
     EXPECT_FALSE(limits.isLimitless());
-    EXPECT_EQ(1.0, limits.lowerLimit());
-    EXPECT_EQ(2.0, limits.upperLimit());
+    EXPECT_EQ(1.0, limits.min());
+    EXPECT_EQ(2.0, limits.max());
 
     // making it fixed, this should remove limits
     limits.setFixed(true);
@@ -66,6 +66,6 @@ TEST(AttLimitsTest, Limited)
     EXPECT_FALSE(limits.isUpperLimited());
     EXPECT_FALSE(limits.isLowerLimited());
     EXPECT_FALSE(limits.isLimitless());
-    EXPECT_EQ(0.0, limits.lowerLimit());
-    EXPECT_EQ(0.0, limits.upperLimit());
+    EXPECT_EQ(0.0, limits.min());
+    EXPECT_EQ(0.0, limits.max());
 }
diff --git a/Tests/Unit/Fit/ParameterTest.cpp b/Tests/Unit/Fit/ParameterTest.cpp
index 33f244df3b7f33550fb4d49b3cf9e4860c389fc3..65f868896ac25e32b31b3a17bf9eaa775033f1bd 100644
--- a/Tests/Unit/Fit/ParameterTest.cpp
+++ b/Tests/Unit/Fit/ParameterTest.cpp
@@ -27,8 +27,8 @@ TEST(ParameterTest, fullConstructor)
     EXPECT_EQ(par.startValue(), 2.0);
     EXPECT_EQ(par.error(), 0.0);
     EXPECT_EQ(par.step(), 0.2);
-    EXPECT_EQ(par.limits().lowerLimit(), -10.0);
-    EXPECT_EQ(par.limits().upperLimit(), 2.0);
+    EXPECT_EQ(par.limits().min(), -10.0);
+    EXPECT_EQ(par.limits().max(), 2.0);
 }
 
 TEST(ParameterTest, defaultStep)
diff --git a/Tests/Unit/Fit/RealLimitsTest.cpp b/Tests/Unit/Fit/RealLimitsTest.cpp
index 6cb71426854a7744f982c45cb67d6d7fa53b55f4..1081ccfca0f5703c2ae1d6864969e052c0656bf8 100644
--- a/Tests/Unit/Fit/RealLimitsTest.cpp
+++ b/Tests/Unit/Fit/RealLimitsTest.cpp
@@ -22,8 +22,8 @@ TEST(RealLimitsTest, LimitsSetLimit)
     EXPECT_TRUE(limits.hasUpperLimit());
     EXPECT_TRUE(limits.hasLowerAndUpperLimits());
 
-    EXPECT_EQ(-1.0, limits.lowerLimit());
-    EXPECT_EQ(10.0, limits.upperLimit());
+    EXPECT_EQ(-1.0, limits.min());
+    EXPECT_EQ(10.0, limits.max());
 
     EXPECT_FALSE(limits.isInRange(-2.0));
     EXPECT_TRUE(limits.isInRange(-1.0));
@@ -36,7 +36,7 @@ TEST(RealLimitsTest, LimitsSetLimit)
     limits.removeLowerLimit();
     EXPECT_FALSE(limits.hasLowerAndUpperLimits());
     EXPECT_FALSE(limits.hasLowerLimit());
-    EXPECT_EQ(0.0, limits.lowerLimit());
+    EXPECT_EQ(0.0, limits.min());
 
     EXPECT_TRUE(limits.isInRange(-std::numeric_limits<double>::infinity()));
     EXPECT_TRUE(limits.isInRange(-2.0));
@@ -47,7 +47,7 @@ TEST(RealLimitsTest, LimitsSetLimit)
     // [2.1, -10.0[
     limits.setLowerLimit(2.1);
     EXPECT_TRUE(limits.hasLowerLimit());
-    EXPECT_EQ(2.1, limits.lowerLimit());
+    EXPECT_EQ(2.1, limits.min());
 
     EXPECT_FALSE(limits.isInRange(-std::numeric_limits<double>::infinity()));
     EXPECT_FALSE(limits.isInRange(2.0));
@@ -57,7 +57,7 @@ TEST(RealLimitsTest, LimitsSetLimit)
     limits.removeUpperLimit();
     EXPECT_FALSE(limits.hasLowerAndUpperLimits());
     EXPECT_FALSE(limits.hasUpperLimit());
-    EXPECT_EQ(0.0, limits.upperLimit());
+    EXPECT_EQ(0.0, limits.max());
 
     EXPECT_FALSE(limits.isInRange(-std::numeric_limits<double>::infinity()));
     EXPECT_FALSE(limits.isInRange(2.0));
@@ -68,7 +68,7 @@ TEST(RealLimitsTest, LimitsSetLimit)
     // [2.1, 2.2[
     limits.setUpperLimit(2.2);
     EXPECT_TRUE(limits.hasUpperLimit());
-    EXPECT_EQ(2.2, limits.upperLimit());
+    EXPECT_EQ(2.2, limits.max());
     EXPECT_TRUE(limits.hasLowerAndUpperLimits());
     EXPECT_TRUE(limits.isInRange(2.15));
     EXPECT_FALSE(limits.isInRange(2.2));
@@ -90,8 +90,8 @@ TEST(RealLimitsTest, LimitsLowerLimited)
     EXPECT_FALSE(limits.hasUpperLimit());
     EXPECT_FALSE(limits.hasLowerAndUpperLimits());
 
-    EXPECT_EQ(5.0, limits.lowerLimit());
-    EXPECT_EQ(0.0, limits.upperLimit());
+    EXPECT_EQ(5.0, limits.min());
+    EXPECT_EQ(0.0, limits.max());
 }
 
 TEST(RealLimitsTest, LimitsUpperLimited)
@@ -101,8 +101,8 @@ TEST(RealLimitsTest, LimitsUpperLimited)
     EXPECT_TRUE(limits.hasUpperLimit());
     EXPECT_FALSE(limits.hasLowerAndUpperLimits());
 
-    EXPECT_EQ(0.0, limits.lowerLimit());
-    EXPECT_EQ(5.0, limits.upperLimit());
+    EXPECT_EQ(0.0, limits.min());
+    EXPECT_EQ(5.0, limits.max());
 }
 
 TEST(RealLimitsTest, LimitsLimited)
@@ -112,8 +112,8 @@ TEST(RealLimitsTest, LimitsLimited)
     EXPECT_TRUE(limits.hasUpperLimit());
     EXPECT_TRUE(limits.hasLowerAndUpperLimits());
 
-    EXPECT_EQ(-10.0, limits.lowerLimit());
-    EXPECT_EQ(2.0, limits.upperLimit());
+    EXPECT_EQ(-10.0, limits.min());
+    EXPECT_EQ(2.0, limits.max());
 }
 
 TEST(RealLimitsTest, LimitsLimitless)
diff --git a/auto/Wrap/libBornAgainFit.py b/auto/Wrap/libBornAgainFit.py
index 5f715e3e8aa7a7eae0d5c0eee2c7330a07a239d8..ad85a08d39ec5d9dae6a250c02bcf3f171b05a48 100644
--- a/auto/Wrap/libBornAgainFit.py
+++ b/auto/Wrap/libBornAgainFit.py
@@ -1682,9 +1682,9 @@ class RealLimits(object):
         r"""hasLowerLimit(RealLimits self) -> bool"""
         return _libBornAgainFit.RealLimits_hasLowerLimit(self)
 
-    def lowerLimit(self):
-        r"""lowerLimit(RealLimits self) -> double"""
-        return _libBornAgainFit.RealLimits_lowerLimit(self)
+    def min(self):
+        r"""min(RealLimits self) -> double"""
+        return _libBornAgainFit.RealLimits_min(self)
 
     def setLowerLimit(self, value):
         r"""setLowerLimit(RealLimits self, double value)"""
@@ -1698,9 +1698,9 @@ class RealLimits(object):
         r"""hasUpperLimit(RealLimits self) -> bool"""
         return _libBornAgainFit.RealLimits_hasUpperLimit(self)
 
-    def upperLimit(self):
-        r"""upperLimit(RealLimits self) -> double"""
-        return _libBornAgainFit.RealLimits_upperLimit(self)
+    def max(self):
+        r"""max(RealLimits self) -> double"""
+        return _libBornAgainFit.RealLimits_max(self)
 
     def setUpperLimit(self, value):
         r"""setUpperLimit(RealLimits self, double value)"""
@@ -1860,13 +1860,13 @@ class AttLimits(object):
         r"""isLimitless(AttLimits self) -> bool"""
         return _libBornAgainFit.AttLimits_isLimitless(self)
 
-    def lowerLimit(self):
-        r"""lowerLimit(AttLimits self) -> double"""
-        return _libBornAgainFit.AttLimits_lowerLimit(self)
+    def min(self):
+        r"""min(AttLimits self) -> double"""
+        return _libBornAgainFit.AttLimits_min(self)
 
-    def upperLimit(self):
-        r"""upperLimit(AttLimits self) -> double"""
-        return _libBornAgainFit.AttLimits_upperLimit(self)
+    def max(self):
+        r"""max(AttLimits self) -> double"""
+        return _libBornAgainFit.AttLimits_max(self)
 
     def setFixed(self, isFixed):
         r"""setFixed(AttLimits self, bool isFixed)"""
diff --git a/auto/Wrap/libBornAgainFit_wrap.cpp b/auto/Wrap/libBornAgainFit_wrap.cpp
index 5d222c343507c64eb7bb047be0ca1395dc0dcd31..15b49575e5e3adb7c20e9bdf16246c9ddd8e0b40 100644
--- a/auto/Wrap/libBornAgainFit_wrap.cpp
+++ b/auto/Wrap/libBornAgainFit_wrap.cpp
@@ -24277,7 +24277,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_RealLimits_lowerLimit(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_RealLimits_min(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   RealLimits *arg1 = (RealLimits *) 0 ;
   void *argp1 = 0 ;
@@ -24289,12 +24289,12 @@ SWIGINTERN PyObject *_wrap_RealLimits_lowerLimit(PyObject *self, PyObject *args)
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_RealLimits, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RealLimits_lowerLimit" "', argument " "1"" of type '" "RealLimits const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RealLimits_min" "', argument " "1"" of type '" "RealLimits const *""'"); 
   }
   arg1 = reinterpret_cast< RealLimits * >(argp1);
   {
     try {
-      result = (double)((RealLimits const *)arg1)->lowerLimit();
+      result = (double)((RealLimits const *)arg1)->min();
     } catch (const std::exception& ex) {
       // message shown in the Python interpreter
       const std::string msg {
@@ -24414,7 +24414,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_RealLimits_upperLimit(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_RealLimits_max(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   RealLimits *arg1 = (RealLimits *) 0 ;
   void *argp1 = 0 ;
@@ -24426,12 +24426,12 @@ SWIGINTERN PyObject *_wrap_RealLimits_upperLimit(PyObject *self, PyObject *args)
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_RealLimits, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RealLimits_upperLimit" "', argument " "1"" of type '" "RealLimits const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RealLimits_max" "', argument " "1"" of type '" "RealLimits const *""'"); 
   }
   arg1 = reinterpret_cast< RealLimits * >(argp1);
   {
     try {
-      result = (double)((RealLimits const *)arg1)->upperLimit();
+      result = (double)((RealLimits const *)arg1)->max();
     } catch (const std::exception& ex) {
       // message shown in the Python interpreter
       const std::string msg {
@@ -25595,7 +25595,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_AttLimits_lowerLimit(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_AttLimits_min(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   AttLimits *arg1 = (AttLimits *) 0 ;
   void *argp1 = 0 ;
@@ -25607,12 +25607,12 @@ SWIGINTERN PyObject *_wrap_AttLimits_lowerLimit(PyObject *self, PyObject *args)
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_AttLimits, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AttLimits_lowerLimit" "', argument " "1"" of type '" "AttLimits const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AttLimits_min" "', argument " "1"" of type '" "AttLimits const *""'"); 
   }
   arg1 = reinterpret_cast< AttLimits * >(argp1);
   {
     try {
-      result = (double)((AttLimits const *)arg1)->lowerLimit();
+      result = (double)((AttLimits const *)arg1)->min();
     } catch (const std::exception& ex) {
       // message shown in the Python interpreter
       const std::string msg {
@@ -25628,7 +25628,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_AttLimits_upperLimit(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_AttLimits_max(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   AttLimits *arg1 = (AttLimits *) 0 ;
   void *argp1 = 0 ;
@@ -25640,12 +25640,12 @@ SWIGINTERN PyObject *_wrap_AttLimits_upperLimit(PyObject *self, PyObject *args)
   swig_obj[0] = args;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_AttLimits, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AttLimits_upperLimit" "', argument " "1"" of type '" "AttLimits const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AttLimits_max" "', argument " "1"" of type '" "AttLimits const *""'"); 
   }
   arg1 = reinterpret_cast< AttLimits * >(argp1);
   {
     try {
-      result = (double)((AttLimits const *)arg1)->upperLimit();
+      result = (double)((AttLimits const *)arg1)->max();
     } catch (const std::exception& ex) {
       // message shown in the Python interpreter
       const std::string msg {
@@ -29970,11 +29970,11 @@ static PyMethodDef SwigMethods[] = {
 	 { "new_RealLimits", _wrap_new_RealLimits, METH_NOARGS, "new_RealLimits() -> RealLimits"},
 	 { "RealLimits_scaledLimits", _wrap_RealLimits_scaledLimits, METH_VARARGS, "RealLimits_scaledLimits(RealLimits self, double factor) -> RealLimits"},
 	 { "RealLimits_hasLowerLimit", _wrap_RealLimits_hasLowerLimit, METH_O, "RealLimits_hasLowerLimit(RealLimits self) -> bool"},
-	 { "RealLimits_lowerLimit", _wrap_RealLimits_lowerLimit, METH_O, "RealLimits_lowerLimit(RealLimits self) -> double"},
+	 { "RealLimits_min", _wrap_RealLimits_min, METH_O, "RealLimits_min(RealLimits self) -> double"},
 	 { "RealLimits_setLowerLimit", _wrap_RealLimits_setLowerLimit, METH_VARARGS, "RealLimits_setLowerLimit(RealLimits self, double value)"},
 	 { "RealLimits_removeLowerLimit", _wrap_RealLimits_removeLowerLimit, METH_O, "RealLimits_removeLowerLimit(RealLimits self)"},
 	 { "RealLimits_hasUpperLimit", _wrap_RealLimits_hasUpperLimit, METH_O, "RealLimits_hasUpperLimit(RealLimits self) -> bool"},
-	 { "RealLimits_upperLimit", _wrap_RealLimits_upperLimit, METH_O, "RealLimits_upperLimit(RealLimits self) -> double"},
+	 { "RealLimits_max", _wrap_RealLimits_max, METH_O, "RealLimits_max(RealLimits self) -> double"},
 	 { "RealLimits_setUpperLimit", _wrap_RealLimits_setUpperLimit, METH_VARARGS, "RealLimits_setUpperLimit(RealLimits self, double value)"},
 	 { "RealLimits_removeUpperLimit", _wrap_RealLimits_removeUpperLimit, METH_O, "RealLimits_removeUpperLimit(RealLimits self)"},
 	 { "RealLimits_hasLowerAndUpperLimits", _wrap_RealLimits_hasLowerAndUpperLimits, METH_O, "RealLimits_hasLowerAndUpperLimits(RealLimits self) -> bool"},
@@ -30012,8 +30012,8 @@ static PyMethodDef SwigMethods[] = {
 	 { "AttLimits_isUpperLimited", _wrap_AttLimits_isUpperLimited, METH_O, "AttLimits_isUpperLimited(AttLimits self) -> bool"},
 	 { "AttLimits_isLowerLimited", _wrap_AttLimits_isLowerLimited, METH_O, "AttLimits_isLowerLimited(AttLimits self) -> bool"},
 	 { "AttLimits_isLimitless", _wrap_AttLimits_isLimitless, METH_O, "AttLimits_isLimitless(AttLimits self) -> bool"},
-	 { "AttLimits_lowerLimit", _wrap_AttLimits_lowerLimit, METH_O, "AttLimits_lowerLimit(AttLimits self) -> double"},
-	 { "AttLimits_upperLimit", _wrap_AttLimits_upperLimit, METH_O, "AttLimits_upperLimit(AttLimits self) -> double"},
+	 { "AttLimits_min", _wrap_AttLimits_min, METH_O, "AttLimits_min(AttLimits self) -> double"},
+	 { "AttLimits_max", _wrap_AttLimits_max, METH_O, "AttLimits_max(AttLimits self) -> double"},
 	 { "AttLimits_setFixed", _wrap_AttLimits_setFixed, METH_VARARGS, "AttLimits_setFixed(AttLimits self, bool isFixed)"},
 	 { "AttLimits___eq__", _wrap_AttLimits___eq__, METH_VARARGS, "AttLimits___eq__(AttLimits self, AttLimits other) -> bool"},
 	 { "AttLimits___ne__", _wrap_AttLimits___ne__, METH_VARARGS, "AttLimits___ne__(AttLimits self, AttLimits other) -> bool"},