diff --git a/Core/StandardSamples/CylindersBuilder.cpp b/Core/StandardSamples/CylindersBuilder.cpp
index f67d1f7f815a723cfbd0a4dc4bc437c2b3650910..0871b3443e56004b237897f37a4b7ab44d5dc530 100644
--- a/Core/StandardSamples/CylindersBuilder.cpp
+++ b/Core/StandardSamples/CylindersBuilder.cpp
@@ -22,6 +22,7 @@
 #include "InterferenceFunctionNone.h"
 #include "Distributions.h"
 #include "ParticleDistribution.h"
+#include "BornAgainNamespace.h"
 
 
 // -----------------------------------------------------------------------------
@@ -38,8 +39,8 @@ CylindersInDWBABuilder::CylindersInDWBABuilder()
 void CylindersInDWBABuilder::init_parameters()
 {
     clearParameterPool();
-    registerParameter("radius", &m_radius);
-    registerParameter("height", &m_height);
+    registerParameter(BornAgain::Radius, &m_radius);
+    registerParameter(BornAgain::Height, &m_height);
 }
 
 
@@ -83,8 +84,8 @@ CylindersInBABuilder::CylindersInBABuilder()
 void CylindersInBABuilder::init_parameters()
 {
     clearParameterPool();
-    registerParameter("radius", &m_radius);
-    registerParameter("height", &m_height);
+    registerParameter(BornAgain::Radius, &m_radius);
+    registerParameter(BornAgain::Height, &m_height);
 }
 
 
diff --git a/Core/StandardSamples/ParticleDistributionsBuilder.cpp b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
index 290220cc346b6aa605a58eb09ae630a7b077b6be..e9bd787c679b7ddcd3a4c65d5a7b7f2be5e96d34 100644
--- a/Core/StandardSamples/ParticleDistributionsBuilder.cpp
+++ b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
@@ -37,8 +37,8 @@ CylindersWithSizeDistributionBuilder::CylindersWithSizeDistributionBuilder()
 void CylindersWithSizeDistributionBuilder::init_parameters()
 {
     clearParameterPool();
-    registerParameter("radius", &m_radius);
-    registerParameter("height", &m_height);
+    registerParameter(BornAgain::Radius, &m_radius);
+    registerParameter(BornAgain::Height, &m_height);
 }
 
 
@@ -62,7 +62,7 @@ ISample *CylindersWithSizeDistributionBuilder::buildSample() const
     double n_sigma = 2.0*2.0*std::sqrt(2.0*std::log(2.0));
     DistributionGaussian gauss(m_radius, sigma);
     ParameterPattern pattern;
-    pattern.add(ParticleType).add(FFCylinderType).add("radius");
+    pattern.add(ParticleType).add(FFCylinderType).add(Radius);
     ParameterDistribution par_distr(pattern.toStdString(), gauss, n_samples, n_sigma);
     ParticleDistribution particle_collection(nano_particle, par_distr);
     particle_layout.addParticle(particle_collection);
@@ -132,12 +132,12 @@ ISample *TwoTypesCylindersDistributionBuilder::buildSample() const
 
     // building distribution of nano particles
     ParameterPattern pattern1;
-    pattern1.add(ParticleType).add(FFCylinderType).add("radius");
+    pattern1.add(ParticleType).add(FFCylinderType).add(Radius);
     ParameterDistribution par_distr1(pattern1.toStdString(), gauss1, nbins, n_sigma);
     ParticleDistribution particle_collection1(cylinder1, par_distr1);
     particle_layout.addParticle(particle_collection1, 0.95);
     ParameterPattern pattern2;
-    pattern2.add(ParticleType).add(FFCylinderType).add("radius");
+    pattern2.add(ParticleType).add(FFCylinderType).add(Radius);
     ParameterDistribution par_distr2(pattern2.toStdString(), gauss2, nbins, n_sigma);
     ParticleDistribution particle_collection2(cylinder2, par_distr2);
     particle_layout.addParticle(particle_collection2, 0.05);
diff --git a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
index 99343ff2c0c8730a78b933051fecf492404b4325..67e3e92d6e263e8c2ea63c448892ca1bed6bcb66 100644
--- a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
+++ b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
@@ -186,10 +186,10 @@ ISample *CylindersInSSCABuilder::buildSample() const
 
     DistributionGaussian gauss(5.0*Units::nanometer, 1.25*Units::nanometer);
     ParameterPattern pattern_radius;
-    pattern_radius.add(ParticleType).add(FFCylinderType).add("radius");
+    pattern_radius.add(ParticleType).add(FFCylinderType).add(Radius);
     ParameterDistribution par_distr(pattern_radius.toStdString(), gauss, 30, 3.0);
     ParameterPattern pattern_height;
-    pattern_height.add(ParticleType).add(FFCylinderType).add("height");
+    pattern_height.add(ParticleType).add(FFCylinderType).add(Height);
     par_distr.linkParameter(pattern_height.toStdString());
     ParticleDistribution particle_collection(particle_prototype, par_distr);
     particle_layout.addParticle(particle_collection);
diff --git a/Core/StandardSamples/StandardSimulations.cpp b/Core/StandardSamples/StandardSimulations.cpp
index 460e813e2d337cb3fe983e8574481dca8c09f885..176c796e60ccdd56db22ec82b57b9ad6f24df376 100644
--- a/Core/StandardSamples/StandardSimulations.cpp
+++ b/Core/StandardSamples/StandardSimulations.cpp
@@ -22,6 +22,9 @@
 #include "IntensityDataIOFactory.h"
 #include "Distributions.h"
 #include "IsGISAXSDetector.h"
+#include "BornAgainNamespace.h"
+
+using namespace BornAgain;
 
 GISASSimulation *StandardSimulations::PolarizedDWBAMagCylinders2()
 {
@@ -82,12 +85,17 @@ GISASSimulation *StandardSimulations::MiniGISASBeamDivergence()
 
     DistributionLogNormal wavelength_distr(1.0*Units::angstrom, 0.1);
     DistributionGaussian alpha_distr(0.2*Units::degree, 0.1*Units::degree);
-    //DistributionGaussian phi_distr(0.0*Units::degree, 0.1*Units::degree);
     DistributionGate phi_distr(-0.1*Units::degree, 0.1*Units::degree);
 
-    result->addParameterDistribution("*/Beam/wavelength", wavelength_distr, 5);
-    result->addParameterDistribution("*/Beam/alpha", alpha_distr, 4);
-    result->addParameterDistribution("*/Beam/phi", phi_distr, 3);
+    ParameterPattern pattern1;
+    pattern1.beginsWith("*").add(BeamType).add(Wavelength);
+    result->addParameterDistribution(pattern1.toStdString(), wavelength_distr, 5);
+    ParameterPattern pattern2;
+    pattern2.beginsWith("*").add(BeamType).add(Alpha);
+    result->addParameterDistribution(pattern2.toStdString(), alpha_distr, 4);
+    ParameterPattern pattern3;
+    pattern3.beginsWith("*").add(BeamType).add(Phi);
+    result->addParameterDistribution(pattern3.toStdString(), phi_distr, 3);
 
     return result;
 }
diff --git a/Core/Tools/inc/IParameterized.h b/Core/Tools/inc/IParameterized.h
index b2977f785df719fe9cd41327f6111edd69c3b6f0..73226d1e1160c047f676303ee30aa9b78b0cb07c 100644
--- a/Core/Tools/inc/IParameterized.h
+++ b/Core/Tools/inc/IParameterized.h
@@ -90,6 +90,7 @@ public:
     ParameterPattern();
     ParameterPattern(std::string root_object);
 
+    ParameterPattern& beginsWith(std::string start_type);
     ParameterPattern& add(std::string object_type);
 
     std::string toStdString() const;
diff --git a/Core/Tools/src/IParameterized.cpp b/Core/Tools/src/IParameterized.cpp
index 9f1fc049773f830e92e8346535b5c3adc8e6bcee..24c0f649b6d7c78fd777ef75fa3bff9e32900802 100644
--- a/Core/Tools/src/IParameterized.cpp
+++ b/Core/Tools/src/IParameterized.cpp
@@ -95,6 +95,12 @@ ParameterPattern::ParameterPattern(std::string root_object)
 {
 }
 
+ParameterPattern &ParameterPattern::beginsWith(std::string start_type)
+{
+    m_pattern = start_type;
+    return *this;
+}
+
 ParameterPattern &ParameterPattern::add(std::string object_type)
 {
     m_pattern = m_pattern + "/" + object_type;
diff --git a/Examples/Demos/FitCylindersPrisms_movie.py b/Examples/Demos/FitCylindersPrisms_movie.py
index 2a5ae105073eff9ca2a93fe231ace543dc55909f..21e1cc31cc35888b81ddd4b6de653059bdd67ba9 100644
--- a/Examples/Demos/FitCylindersPrisms_movie.py
+++ b/Examples/Demos/FitCylindersPrisms_movie.py
@@ -198,10 +198,10 @@ def run_fitting():
     fit_suite.attachObserver(draw_observer)
 
     # setting fitting parameters with starting values
-    fit_suite.addFitParameter("*FormFactorCylinder/height", 2.*nanometer, AttLimits.limited(0.01, 10.0))
-    fit_suite.addFitParameter("*FormFactorCylinder/radius", 2.*nanometer, AttLimits.limited(0.01, 10.0))
-    fit_suite.addFitParameter("*FormFactorPrism3/height", 2.*nanometer, AttLimits.limited(0.01, 10.0))
-    fit_suite.addFitParameter("*FormFactorPrism3/length", 2.*nanometer, AttLimits.limited(0.01, 10.0))
+    fit_suite.addFitParameter("*Cylinder/Height", 2.*nanometer, AttLimits.limited(0.01, 10.0))
+    fit_suite.addFitParameter("*Cylinder/Radius", 2.*nanometer, AttLimits.limited(0.01, 10.0))
+    fit_suite.addFitParameter("*Prism3/Height", 2.*nanometer, AttLimits.limited(0.01, 10.0))
+    fit_suite.addFitParameter("*Prism3/Length", 2.*nanometer, AttLimits.limited(0.01, 10.0))
 
     # # Now we create first fig strategy which will run first minimization round using Genetic minimizer.
     # # Genetic minimizer is able to explore large parameter space without being trapped by some local minima.
diff --git a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py
index aef9adb63ba3770127c38adf34e890fba3b74085..c89c27fc2347bc60f4d0348c98a67cc631569ca1 100644
--- a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py
+++ b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py
@@ -60,10 +60,10 @@ def run_fitting():
     fit_suite.initPrint(10)
 
     # setting fitting parameters with starting values
-    fit_suite.addFitParameter("*FormFactorCylinder/height", 4.*nanometer, AttLimits.lowerLimited(0.01))
-    fit_suite.addFitParameter("*FormFactorCylinder/radius", 6.*nanometer, AttLimits.lowerLimited(0.01))
-    fit_suite.addFitParameter("*FormFactorPrism3/height", 4.*nanometer, AttLimits.lowerLimited(0.01))
-    fit_suite.addFitParameter("*FormFactorPrism3/length", 12.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Cylinder/Height", 4.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Cylinder/Radius", 6.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Prism3/Height", 4.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Prism3/Length", 12.*nanometer, AttLimits.lowerLimited(0.01))
 
     # running fit
     fit_suite.runFit()
diff --git a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py
index 9492aa54929a132f4e589cce6648df3eea352dd8..d716bee9c14b91c842720cba56d5a45b5870fe48 100644
--- a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py
+++ b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py
@@ -150,10 +150,10 @@ def run_fitting():
     fit_suite.attachObserver(draw_observer)
 
     # setting fitting parameters with starting values
-    fit_suite.addFitParameter("*FormFactorCylinder/height", 4.*nanometer, AttLimits.lowerLimited(0.01))
-    fit_suite.addFitParameter("*FormFactorCylinder/radius", 6.*nanometer, AttLimits.lowerLimited(0.01))
-    fit_suite.addFitParameter("*FormFactorPrism3/height", 4.*nanometer, AttLimits.lowerLimited(0.01))
-    fit_suite.addFitParameter("*FormFactorPrism3/length", 12.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Cylinder/Height", 4.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Cylinder/Radius", 6.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Prism3/Height", 4.*nanometer, AttLimits.lowerLimited(0.01))
+    fit_suite.addFitParameter("*Prism3/Length", 12.*nanometer, AttLimits.lowerLimited(0.01))
 
     # running fit
     fit_suite.runFit()
diff --git a/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py b/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py
index 47eb8ccca01931d909bf533d23521aa0a6ccac65..65a9105f39554520730760a1e28a28c063118dfa 100644
--- a/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py
+++ b/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py
@@ -90,8 +90,8 @@ def run_fitting():
     fit_suite.attachObserver(draw_observer)
 
     # this fit parameter will change both length_1 and length_2 simultaneously
-    fit_suite.addFitParameter("*2DLattice/length_*", 8.*nanometer, AttLimits.limited(4., 12.))
-    fit_suite.addFitParameter("*/FormFactorFullSphere/radius", 8.*nanometer, AttLimits.limited(4., 12.))
+    fit_suite.addFitParameter("*2DLattice/LatticeLength*", 8.*nanometer, AttLimits.limited(4., 12.))
+    fit_suite.addFitParameter("*/FullSphere/Radius", 8.*nanometer, AttLimits.limited(4., 12.))
 
     # running fit
     fit_suite.runFit()
diff --git a/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py b/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py
index 2096bfc6525ec45263d562382f540cb18e485663..f7f68feeada44b6fc4472384f585d5d2476e1d5c 100644
--- a/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py
+++ b/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py
@@ -102,8 +102,8 @@ def run_fitting():
     fit_suite.getFitObjects().printParameters()  # prints all defined parameters for sample and simulation
 
     # setting fitting parameters with starting values
-    fit_suite.addFitParameter("*/FormFactorCylinder/radius", 6.*nanometer, AttLimits.limited(4., 8.))
-    fit_suite.addFitParameter("*/FormFactorCylinder/height", 9.*nanometer, AttLimits.limited(8., 12.))
+    fit_suite.addFitParameter("*/Cylinder/Radius", 6.*nanometer, AttLimits.limited(4., 8.))
+    fit_suite.addFitParameter("*/Cylinder/Height", 9.*nanometer, AttLimits.limited(8., 12.))
     fit_suite.addFitParameter("*/Normalizer/scale", 1.5, AttLimits.limited(1.0, 3.0))
     fit_suite.addFitParameter("*/Normalizer/shift", 50., AttLimits.limited(1, 500.))
 
diff --git a/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py b/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py
index 1f587b147953b62770775ff09a4e0193435d50b1..4bf3854a78bdf58649753544fd0de9b3755e3ced 100644
--- a/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py
+++ b/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py
@@ -125,8 +125,8 @@ def run_fitting():
     fit_suite.attachObserver(draw_observer)
 
     # setting fitting parameters with starting values
-    fit_suite.addFitParameter("*/FormFactorCylinder/radius", 6.*nanometer, AttLimits.limited(4., 8.))
-    fit_suite.addFitParameter("*/FormFactorCylinder/height", 9.*nanometer, AttLimits.limited(8., 12.))
+    fit_suite.addFitParameter("*/Cylinder/Radius", 6.*nanometer, AttLimits.limited(4., 8.))
+    fit_suite.addFitParameter("*/Cylinder/Height", 9.*nanometer, AttLimits.limited(8., 12.))
 
     # running fit
     fit_suite.runFit()
diff --git a/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py b/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py
index 0fd55c0982a38d99734379bd0c8deeabd5aae895..386d9717ebbb51c422edc0605dbff51b504dd37c 100644
--- a/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py
+++ b/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py
@@ -92,8 +92,8 @@ def run_fitting():
 
     # setting fitting parameters with starting values
     # Here we select starting values being quite far from true values to puzzle our minimizer's as much as possible
-    fit_suite.addFitParameter("*height", 1.*nanometer, AttLimits.limited(0.01, 30.), 0.04*nanometer)
-    fit_suite.addFitParameter("*radius", 20.*nanometer, AttLimits.limited(0.01, 30.), 0.06*nanometer)
+    fit_suite.addFitParameter("*Height", 1.*nanometer, AttLimits.limited(0.01, 30.), 0.04*nanometer)
+    fit_suite.addFitParameter("*Radius", 20.*nanometer, AttLimits.limited(0.01, 30.), 0.06*nanometer)
 
     # Now we create first fig strategy which will run first minimization round using Genetic minimizer.
     # Genetic minimizer is able to explore large parameter space without being trapped by some local minima.
diff --git a/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py b/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py
index c26683343344b88aab0ee8e8767543fde1417338..19cd86699f5c327d865021136a4ed59c5703d542 100644
--- a/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py
+++ b/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py
@@ -178,8 +178,8 @@ def run_fitting():
     fit_suite.attachObserver(draw_observer)
 
     # setting fitting parameters with starting values
-    fit_suite.addFitParameter("*/FormFactorCylinder/radius", 6.*nanometer, AttLimits.limited(4., 8.))
-    fit_suite.addFitParameter("*/FormFactorCylinder/height", 9.*nanometer, AttLimits.limited(8., 12.))
+    fit_suite.addFitParameter("*/Cylinder/Radius", 6.*nanometer, AttLimits.limited(4., 8.))
+    fit_suite.addFitParameter("*/Cylinder/Height", 9.*nanometer, AttLimits.limited(8., 12.))
 
     # running fit
     fit_suite.runFit()
diff --git a/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py b/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py
index 796f9e52296fae38698a75448227cd5cfc08ec37..9106714f1213453ade078a2b4e300772950d1030 100644
--- a/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py
+++ b/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py
@@ -147,9 +147,9 @@ def run_fitting():
     fit_suite.attachObserver(draw_observer)
 
     # setting fitting parameters with starting values
-    fit_suite.addFitParameter("*/FormFactorHemiEllipsoid/radius_a", 4.*nanometer, AttLimits.limited(2., 10.))
-    fit_suite.addFitParameter("*/FormFactorHemiEllipsoid/radius_b", 6.*nanometer, AttLimits.fixed())
-    fit_suite.addFitParameter("*/FormFactorHemiEllipsoid/height", 4.*nanometer, AttLimits.limited(2., 10.))
+    fit_suite.addFitParameter("*/HemiEllipsoid/RadiusX", 4.*nanometer, AttLimits.limited(2., 10.))
+    fit_suite.addFitParameter("*/HemiEllipsoid/RadiusY", 6.*nanometer, AttLimits.fixed())
+    fit_suite.addFitParameter("*/HemiEllipsoid/Height", 4.*nanometer, AttLimits.limited(2., 10.))
 
     # running fit
     fit_suite.runFit()
diff --git a/Fit/StandardFits/IMinimizerFunctionalTest.cpp b/Fit/StandardFits/IMinimizerFunctionalTest.cpp
index 64369505d12bdf97bc9ea2e00b18124b96f2547d..d67c8ea93c51b192a8b30f41a8c0c00f82c1baab 100644
--- a/Fit/StandardFits/IMinimizerFunctionalTest.cpp
+++ b/Fit/StandardFits/IMinimizerFunctionalTest.cpp
@@ -37,9 +37,9 @@ IMinimizerFunctionalTest::IMinimizerFunctionalTest(const std::string &minimizer_
     , m_parameter_tolerance(0.01)
 {
     m_parameters.push_back(
-        TestParameter("*height", 5.0 * Units::nanometer, 4.5 * Units::nanometer));
+        TestParameter("*Height", 5.0 * Units::nanometer, 4.5 * Units::nanometer));
     m_parameters.push_back(
-        TestParameter("*radius", 5.0 * Units::nanometer, 5.5 * Units::nanometer));
+        TestParameter("*Radius", 5.0 * Units::nanometer, 5.5 * Units::nanometer));
 }
 
 
diff --git a/GUI/coregui/utils/gui_functional_tests.cpp b/GUI/coregui/utils/gui_functional_tests.cpp
index 22e6425f10a722dda6f99fec41a0910d5d859cc7..1f319c675a511a76de3f2d0f701bd9d05fbf1030 100644
--- a/GUI/coregui/utils/gui_functional_tests.cpp
+++ b/GUI/coregui/utils/gui_functional_tests.cpp
@@ -17,7 +17,7 @@
 #include "FunctionalTestRegistry.h"
 #include "GUIFunctionalTestComponentService.h"
 #include "FunctionalMultiTest.h"
-#include <boost/scoped_ptr.hpp>
+#include <memory>
 #include <iostream>
 
 int GUI_FUNCTIONAL_TEST(const std::string &test_name)
@@ -33,7 +33,7 @@ int GUI_FUNCTIONAL_TEST(const std::string &test_name)
     FunctionalTestInfo info = catalogue.getTestInfo(test_name);
 
     GUIFunctionalTestComponentService *service = new GUIFunctionalTestComponentService(info);
-    boost::scoped_ptr<IFunctionalTest> test(
+    std::unique_ptr<IFunctionalTest> test(
         new FunctionalMultiTest(test_name, service));
 
     test->runTest();
diff --git a/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py b/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py
index 931f15e01aaac94c7397c358a2859af06c87a22c..9b037a94dc56152357261b3402afd017359a2dfc 100644
--- a/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py
+++ b/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py
@@ -104,7 +104,7 @@ def RunSimulationBA_Size():
     n_sigma = 4.0*numpy.sqrt(2.0*numpy.log(2.0))
     gauss = DistributionGaussian(radius, sigma)
 
-    par_distr = ParameterDistribution("*/radius", gauss, nbins, n_sigma)
+    par_distr = ParameterDistribution("*/Radius", gauss, nbins, n_sigma)
     part_coll = ParticleDistribution(nano_particle, par_distr)
     particle_layout.addParticle(part_coll)
 
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs02.py b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
index a340a0c20e9132c86fdf736a53b6420a8fd21f73..52a5636fe73ff7135428e08ed26e39b0ba383f64 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
@@ -39,10 +39,10 @@ def RunSimulation():
     #Building nano particles
     particle_layout = ParticleLayout()
 
-    par_distr1 = ParameterDistribution("*/radius", gauss1, nbins, n_sigma)
+    par_distr1 = ParameterDistribution("*/Radius", gauss1, nbins, n_sigma)
     part_coll1 = ParticleDistribution(cylinder1, par_distr1)
     particle_layout.addParticle(part_coll1, 0.95)
-    par_distr2 = ParameterDistribution("*/radius", gauss2, nbins, n_sigma)
+    par_distr2 = ParameterDistribution("*/Radius", gauss2, nbins, n_sigma)
     part_coll2 = ParticleDistribution(cylinder2, par_distr2)
     particle_layout.addParticle(part_coll2, 0.05)
 
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs15.py b/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
index 2706933a3471571dad8a221dbfa027e5fe482e45..01d0200fb3bce3db512cf8f4a65cf173d05073a3 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
@@ -28,9 +28,9 @@ def RunSimulation():
     particle_prototype = Particle(mParticle, cylinder_ff)
     radius_distr = DistributionGaussian(5.0*nanometer, 1.25*nanometer)
 
-    par_distr = ParameterDistribution("*/radius", radius_distr, 30, 3.0)
+    par_distr = ParameterDistribution("*/Radius", radius_distr, 30, 3.0)
     # link height linearly with distribution of radius:
-    par_distr.linkParameter("*/height")
+    par_distr.linkParameter("*/Height")
     part_coll = ParticleDistribution(particle_prototype, par_distr)
     particle_layout.addParticle(part_coll)
 
diff --git a/Tests/FunctionalTests/TestPyFit/fitting_utils.py b/Tests/FunctionalTests/TestPyFit/fitting_utils.py
index e9faa45b0599edb5db2ed074f1ad0dd34bc11344..8cd95762a8eaa3b928eb6eeb484798e420e27d5f 100644
--- a/Tests/FunctionalTests/TestPyFit/fitting_utils.py
+++ b/Tests/FunctionalTests/TestPyFit/fitting_utils.py
@@ -61,8 +61,8 @@ def get_fit_suite(minimizer, algorithm):
     Creates FitSuite fully ready for minimization
     """
     fit_suite = FitSuite()
-    fit_suite.addFitParameter("*height", 4.*nanometer, 0.04*nanometer, AttLimits.limited(2.0, 8.0))
-    fit_suite.addFitParameter("*radius", 6.*nanometer, 0.06*nanometer, AttLimits.limited(2.0, 8.0))
+    fit_suite.addFitParameter("*Height", 4.*nanometer, 0.04*nanometer, AttLimits.limited(2.0, 8.0))
+    fit_suite.addFitParameter("*Radius", 6.*nanometer, 0.06*nanometer, AttLimits.limited(2.0, 8.0))
     fit_suite.addSimulationAndRealData(get_simulation(), get_real_data())
     fit_suite.setMinimizer(MinimizerFactory.createMinimizer(minimizer, algorithm))
     return fit_suite
diff --git a/dev-tools/python-bindings/settings_fit.py b/dev-tools/python-bindings/settings_fit.py
index f13fb598d6e4c1013c429631f1d5247630718f76..4927de93aa22824af2b16e1a2d7ce96f709fc927 100644
--- a/dev-tools/python-bindings/settings_fit.py
+++ b/dev-tools/python-bindings/settings_fit.py
@@ -103,8 +103,6 @@ def ManualClassTunings(mb):
     cl = mb.class_("IMinimizer")
     cl.member_function("setChiSquaredFunction").exclude()
     cl.member_function("setGradientFunction").exclude()
-    # cl.member_function("getAlgorithmName").exclude() # removed due to compilation problems under MSVC
-    #cl.member_function("getMinimizerName").exclude() # temporarily due to compilation problems under MSVC
     for fun in cl.member_functions():
         if "getOptions" in fun.name:
             if "::MinimizerOptions const & ( ::IMinimizer::* )(  ) const" in fun.decl_string:
@@ -112,42 +110,11 @@ def ManualClassTunings(mb):
             else:
                 fun.call_policies = call_policies.return_internal_reference()
 
-    # adding hand made wrapper code to bypass a error with std::string conversion under Windows & MSVC2012
-    # code = """
-    # virtual ::std::string getAlgorithmName(  ) const  {
-    #     if( bp::override func_getAlgorithmName = this->get_override( "getAlgorithmName" ) )
-    #         return boost::python::call<std::string>(func_getAlgorithmName(  ));
-    #     else{
-    #         return this->IMinimizer::getAlgorithmName(  );
-    #     }
-    # }
-    #
-    # ::std::string default_getAlgorithmName(  ) const  {
-    #     return IMinimizer::getAlgorithmName( );
-    # }
-    # """
-    # cl.add_wrapper_code(code)
     utils_build.InjectGetStringCustomCode(cl, "getAlgorithmName")
     utils_build.InjectGetStringCustomCode(cl, "getMinimizerName")
 
-    # code = """
-    #         def(
-    #             "getAlgorithmName"
-    #             , (::std::string ( ::IMinimizer::*)(  ) const)(&::IMinimizer::getAlgorithmName)
-    #             , (::std::string ( IMinimizer_wrapper::*)(  ) const)(&IMinimizer_wrapper::default_getAlgorithmName) )
-    # """
-    # cl.add_code(code)
-
-
     #
     cl = mb.class_("FitSuite")
-    #cl.member_functions().exclude()
-    #for fun in cl.member_functions(allow_empty=True):
-      #if "addFitParameter" in fun.name:
-          #fun.include()
-    # cl.member_function("getMinimizer").include()
-
-    # cl.member_function( "getMinimizer" ).call_policies = call_policies.return_value_policy( call_policies.reference_existing_object )
     cl.member_function( "getMinimizer" ).call_policies= call_policies.return_internal_reference() # which one is correct ?
     cl.member_function("getRealData").call_policies = call_policies.return_value_policy(call_policies.manage_new_object)
     cl.member_function("getSimulationData").call_policies = call_policies.return_value_policy(call_policies.manage_new_object)
@@ -157,31 +124,13 @@ def ManualClassTunings(mb):
     cl.member_function( "getFitParameters" ).call_policies = call_policies.return_internal_reference()
     cl.member_function( "getFitStrategies" ).call_policies = call_policies.return_internal_reference()
 
-
-    # cl.member_function("setMinimizer").include()
-    #cl.member_function("addSimulationAndRealData").include()
-    #cl.member_function("runFit").include()
-    #cl.member_function("printResults").include()
-    #cl.member_function("getNCalls").include()
-    #cl.member_function("initPrint").include()
-    #cl.member_function("getFitParameters").include()
-    #
-    #cl = mb.class_("FitSuiteParameters")
-    #cl.member_functions().exclude()
-    #cl.member_function("getValues").include()
-    #for fun in cl.member_operators():
-        #if "operator[]" in fun.name:
-            #fun.exclude()
-    #
     cl = mb.class_("MinimizerFactory")
-    #cl.member_function( "createMinimizer" ).call_policies = call_policies.return_value_policy( call_policies.reference_existing_object )
     for fun in cl.member_functions():
         if "createMinimizer" in fun.name:
             fun.call_policies = call_policies.return_value_policy( call_policies.reference_existing_object )
 
     cl = mb.class_("FitStrategyAdjustMinimizer")
     cl.member_function( "getMinimizer" ).call_policies =  call_policies.return_internal_reference()
-    # cl.member_function( "setMinimizer" ).include()
     cl.member_function( "getMinimizerOptions" ).call_policies =  call_policies.return_internal_reference()
 
     cl = mb.class_("MinimizerOptions") # alternatively transformation can be used
@@ -189,8 +138,6 @@ def ManualClassTunings(mb):
         if "getValue" in fun.name:
             fun.exclude()
 
-    # cl = mb.class_("IObserver")
-    # cl.member_function("update").include()
     cl = mb.class_("IFitObserver")
     cl.member_function("update").include()