diff --git a/Core/SampleBuilderEngine/ISampleBuilder.h b/Core/SampleBuilderEngine/ISampleBuilder.h
index 3d1af859d3e43526b28959e4f13d7cb2454bf4cc..4fb72559cf23d06d9561fbfdb4b00757d5c1b76f 100644
--- a/Core/SampleBuilderEngine/ISampleBuilder.h
+++ b/Core/SampleBuilderEngine/ISampleBuilder.h
@@ -29,7 +29,7 @@ public:
 
     virtual MultiLayer* buildSample() const = 0;
 
-    virtual MultiLayer* createSample(size_t index)
+    virtual MultiLayer* createSampleByIndex(size_t index)
     {
         (void)index;
         return buildSample();
diff --git a/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp b/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
index 74b31176a0e710f8bd52785ae1b148f4b70d82cc..bc857cbf8948d858372b0e3b4f633c9e685f979e 100644
--- a/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
+++ b/Core/StandardSamples/LayersWithAbsorptionBuilder.cpp
@@ -68,7 +68,7 @@ MultiLayer* LayersWithAbsorptionBuilder::buildSample() const
     return multi_layer;
 }
 
-MultiLayer* LayersWithAbsorptionBuilder::createSample(size_t index)
+MultiLayer* LayersWithAbsorptionBuilder::createSampleByIndex(size_t index)
 {
     const std::string name = ff_components.keys().at(index);
     m_ff.reset(ff_components.getItem(name)->clone());
diff --git a/Core/StandardSamples/LayersWithAbsorptionBuilder.h b/Core/StandardSamples/LayersWithAbsorptionBuilder.h
index 6bb52b041ffe6d794f45dca63e2386fb8aeddf00..2e8d7ab93227b0acd305af0ac7e005d187144ef7 100644
--- a/Core/StandardSamples/LayersWithAbsorptionBuilder.h
+++ b/Core/StandardSamples/LayersWithAbsorptionBuilder.h
@@ -35,7 +35,7 @@ public:
     ~LayersWithAbsorptionBuilder();
     virtual MultiLayer* buildSample() const;
 
-    MultiLayer* createSample(size_t index);
+    MultiLayer* createSampleByIndex(size_t index);
     size_t size();
 
 private:
diff --git a/Core/StandardSamples/MagneticLayersBuilder.cpp b/Core/StandardSamples/MagneticLayersBuilder.cpp
index 65c2f1e712d200e1c1703b5d26695d83461cb61d..a65c0b84f54c008952879ee0699a9850f0938fa7 100644
--- a/Core/StandardSamples/MagneticLayersBuilder.cpp
+++ b/Core/StandardSamples/MagneticLayersBuilder.cpp
@@ -141,7 +141,7 @@ size_t SimpleMagneticRotationBuilder::size()
     return 3;
 }
 
-MultiLayer* SimpleMagneticRotationBuilder::createSample(size_t index)
+MultiLayer* SimpleMagneticRotationBuilder::createSampleByIndex(size_t index)
 {
     switch (index) {
 
diff --git a/Core/StandardSamples/MagneticLayersBuilder.h b/Core/StandardSamples/MagneticLayersBuilder.h
index d7378cba5f3a92a520c945959a53939a4ecc8f6f..ea281369e60173d19a7ffb21078a1f0b6e9bf5b1 100644
--- a/Core/StandardSamples/MagneticLayersBuilder.h
+++ b/Core/StandardSamples/MagneticLayersBuilder.h
@@ -65,7 +65,7 @@ public:
     SimpleMagneticRotationBuilder();
     MultiLayer* buildSample() const override;
 
-    MultiLayer* createSample(size_t index) override;
+    MultiLayer* createSampleByIndex(size_t index) override;
     size_t size() override;
 
 protected:
diff --git a/Core/StandardSamples/ParaCrystalBuilder.cpp b/Core/StandardSamples/ParaCrystalBuilder.cpp
index e08737631d39153215676af2ad057cae905fddc1..8e06435b7951fb497861b54dfdec9f44e5adc50a 100644
--- a/Core/StandardSamples/ParaCrystalBuilder.cpp
+++ b/Core/StandardSamples/ParaCrystalBuilder.cpp
@@ -107,7 +107,7 @@ MultiLayer* Basic2DParaCrystalBuilder::buildSample() const
     return multi_layer;
 }
 
-MultiLayer* Basic2DParaCrystalBuilder::createSample(size_t index)
+MultiLayer* Basic2DParaCrystalBuilder::createSampleByIndex(size_t index)
 {
     ASSERT(index < FTDistribution2DComponents().size());
 
diff --git a/Core/StandardSamples/ParaCrystalBuilder.h b/Core/StandardSamples/ParaCrystalBuilder.h
index a4479fe81aec08cc6d54f41fccc9753b4c7f229c..3544bc8b7992f21817ac2ff47b29435780fadbd6 100644
--- a/Core/StandardSamples/ParaCrystalBuilder.h
+++ b/Core/StandardSamples/ParaCrystalBuilder.h
@@ -50,7 +50,7 @@ public:
     ~Basic2DParaCrystalBuilder();
     virtual MultiLayer* buildSample() const;
 
-    MultiLayer* createSample(size_t index);
+    MultiLayer* createSampleByIndex(size_t index);
 
 private:
     std::unique_ptr<IFTDistribution2D> m_pdf1;
diff --git a/Core/StandardSamples/ParticleInTheAirBuilder.cpp b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
index f80fce67bfb0f1c47a1b4e30ba116eb4522b5dab..5809bd3c054cafa275ddacb4b1a8318219f38960 100644
--- a/Core/StandardSamples/ParticleInTheAirBuilder.cpp
+++ b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
@@ -47,7 +47,7 @@ MultiLayer* ParticleInTheAirBuilder::buildSample() const
     return result;
 }
 
-MultiLayer* ParticleInTheAirBuilder::createSample(size_t index)
+MultiLayer* ParticleInTheAirBuilder::createSampleByIndex(size_t index)
 {
     auto ff_names = ff_components().keys();
     m_ff.reset(ff_components().getItem(ff_names.at(index))->clone());
diff --git a/Core/StandardSamples/ParticleInTheAirBuilder.h b/Core/StandardSamples/ParticleInTheAirBuilder.h
index 52c599afaf6f02e143191b9ff284038d19201e56..94b79b732cb47f58fa81001d1e397a55d8b797c8 100644
--- a/Core/StandardSamples/ParticleInTheAirBuilder.h
+++ b/Core/StandardSamples/ParticleInTheAirBuilder.h
@@ -32,7 +32,7 @@ public:
     ParticleInTheAirBuilder();
     virtual MultiLayer* buildSample() const;
 
-    MultiLayer* createSample(size_t index);
+    MultiLayer* createSampleByIndex(size_t index);
     size_t size();
 
 protected:
diff --git a/Core/StandardSamples/SampleBuilderFactory.cpp b/Core/StandardSamples/SampleBuilderFactory.cpp
index 7dbaa03798b2c90a340363dbfdb745b5424009c9..b37ea624e490150eaff2d12d7f07433a841ca230 100644
--- a/Core/StandardSamples/SampleBuilderFactory.cpp
+++ b/Core/StandardSamples/SampleBuilderFactory.cpp
@@ -201,7 +201,7 @@ SampleBuilderFactory::SampleBuilderFactory()
 
 //! Retrieves a SampleBuilder from the registry, does the build, and returns the result.
 
-MultiLayer* SampleBuilderFactory::createSample(const std::string& name)
+MultiLayer* SampleBuilderFactory::createSampleByName(const std::string& name)
 {
     return createItemPtr(name)->buildSample();
 }
diff --git a/Core/StandardSamples/SampleBuilderFactory.h b/Core/StandardSamples/SampleBuilderFactory.h
index 2447d6074ed305990aa10723d166de2564ad41b2..30f96fb4fbd1fe1ef556faf3ad5856a936a5c7d0 100644
--- a/Core/StandardSamples/SampleBuilderFactory.h
+++ b/Core/StandardSamples/SampleBuilderFactory.h
@@ -27,7 +27,7 @@ class SampleBuilderFactory : public IFactory<std::string, ISampleBuilder>
 {
 public:
     SampleBuilderFactory();
-    MultiLayer* createSample(const std::string& name);
+    MultiLayer* createSampleByName(const std::string& name);
 };
 
 #endif // BORNAGAIN_CORE_STANDARDSAMPLES_SAMPLEBUILDERFACTORY_H
diff --git a/GUI/coregui/Models/ApplicationModels.cpp b/GUI/coregui/Models/ApplicationModels.cpp
index f562bbf89c3c8010b274481e314d475f776d2bb5..7470c71b558ff2712a88dc038f57326ec9fb83f8 100644
--- a/GUI/coregui/Models/ApplicationModels.cpp
+++ b/GUI/coregui/Models/ApplicationModels.cpp
@@ -160,7 +160,8 @@ void ApplicationModels::createJobModel()
 void ApplicationModels::createTestSample()
 {
     SampleBuilderFactory factory;
-    const std::unique_ptr<MultiLayer> P_sample(factory.createSample("CylindersAndPrismsBuilder"));
+    const std::unique_ptr<MultiLayer> P_sample(
+        factory.createSampleByName("CylindersAndPrismsBuilder"));
 
     GUIObjectBuilder::populateSampleModel(m_sampleModel, m_materialModel, *P_sample);
 
diff --git a/GUI/coregui/Models/GUIExamplesFactory.cpp b/GUI/coregui/Models/GUIExamplesFactory.cpp
index e25c0aff25e76198ca33e3d5509fe3e23fc6af7c..ff20643ffd6ba1025801ac730020a21a817cc481 100644
--- a/GUI/coregui/Models/GUIExamplesFactory.cpp
+++ b/GUI/coregui/Models/GUIExamplesFactory.cpp
@@ -66,7 +66,7 @@ SessionItem* GUIExamplesFactory::createSampleItems(const QString& name, SampleMo
     QString exampleName = m_name_to_registry[name];
 
     SampleBuilderFactory factory;
-    const std::unique_ptr<MultiLayer> sample(factory.createSample(exampleName.toStdString()));
+    const std::unique_ptr<MultiLayer> sample(factory.createSampleByName(exampleName.toStdString()));
 
     return GUIObjectBuilder::populateSampleModel(sampleModel, materialModel, *sample.get(), name);
 }
diff --git a/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp b/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp
index 4dbf35e48f6679308ecab40f83900ea7f41247dd..bfd5971d6dfb51f5e715f25117a92ca25656eea9 100644
--- a/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp
+++ b/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp
@@ -117,7 +117,7 @@ void TestComponentView::init_source()
 {
     SampleBuilderFactory factory;
     const std::unique_ptr<MultiLayer> sample(
-        factory.createSample("CylindersWithSizeDistributionBuilder"));
+        factory.createSampleByName("CylindersWithSizeDistributionBuilder"));
     GUIObjectBuilder::populateSampleModel(m_sampleModel, m_materialModel, *sample);
     m_sampleModel->insertNewItem("Vector");
     m_sampleModel->insertNewItem("GISASBeam");
diff --git a/Tests/Functional/Core/MPI/mpitest.cpp b/Tests/Functional/Core/MPI/mpitest.cpp
index 39e4b210972e12c50b936cced259ad75ecf63d2d..9b816d29a742543c95d8e3ed295d35fd6e0eb3d7 100644
--- a/Tests/Functional/Core/MPI/mpitest.cpp
+++ b/Tests/Functional/Core/MPI/mpitest.cpp
@@ -20,7 +20,7 @@ int main(int argc, char** argv)
     Simulation* p_simulation = sim_factory.createItem("BasicGISAS");
     SampleBuilderFactory sample_factory;
     const std::unique_ptr<MultiLayer> P_sample(
-        sample_factory.createSample("CylindersInDWBABuilder"));
+        sample_factory.createSampleByName("CylindersInDWBABuilder"));
     p_simulation->setSample(*P_sample);
 
     // make backup of original simulation options
diff --git a/Tests/Functional/GUI/Other/SaveLoadProject.cpp b/Tests/Functional/GUI/Other/SaveLoadProject.cpp
index 17f81150cd47c189b6b9bbc174d7002a89b1abad..f785d40b6a738924899ac9068a2436d230dc538b 100644
--- a/Tests/Functional/GUI/Other/SaveLoadProject.cpp
+++ b/Tests/Functional/GUI/Other/SaveLoadProject.cpp
@@ -87,7 +87,7 @@ int GUISaveLoadProject::run_job()
     SimulationOptionsItem* optionsItem = m_models->documentModel()->simulationOptionsItem();
 
     SampleBuilderFactory factory;
-    const std::unique_ptr<MultiLayer> sample(factory.createSample(sample_name.toStdString()));
+    const std::unique_ptr<MultiLayer> sample(factory.createSampleByName(sample_name.toStdString()));
 
     GUIObjectBuilder::populateSampleModel(m_models->sampleModel(), m_models->materialModel(),
                                           *sample);
diff --git a/Tests/Functional/GUI/Translate/GUITranslationTest.cpp b/Tests/Functional/GUI/Translate/GUITranslationTest.cpp
index d49f9dd7038da2ca997ca929575debe4a3e683a5..6af5b06f4427c8ce4e2d45c83e9dc7e69bec8b95 100644
--- a/Tests/Functional/GUI/Translate/GUITranslationTest.cpp
+++ b/Tests/Functional/GUI/Translate/GUITranslationTest.cpp
@@ -117,7 +117,7 @@ GUITranslationTest::GUITranslationTest(const std::string& simName, const std::st
         throw std::runtime_error("Error in GUITranslationTest: wrong simulation type.");
 
     SampleBuilderFactory sampleFactory;
-    m_simulation->setSample(*sampleFactory.createSample(m_sampleName));
+    m_simulation->setSample(*sampleFactory.createSampleByName(m_sampleName));
 }
 
 GUITranslationTest::~GUITranslationTest() {}
diff --git a/Tests/Functional/Python/PyEmbedded/Tests.cpp b/Tests/Functional/Python/PyEmbedded/Tests.cpp
index 2e042601257cec98cdd678925e0a585fae621034..ded9191baa794dc9b9fbffd1e141f4b4ac80b208 100644
--- a/Tests/Functional/Python/PyEmbedded/Tests.cpp
+++ b/Tests/Functional/Python/PyEmbedded/Tests.cpp
@@ -370,7 +370,7 @@ TEST_F(PyEmbedded, EmbeddedMultiLayer)
 TEST_F(PyEmbedded, ExportToPythonAndBack)
 {
     SampleBuilderFactory factory;
-    std::unique_ptr<MultiLayer> sample(factory.createSample("CylindersAndPrismsBuilder"));
+    std::unique_ptr<MultiLayer> sample(factory.createSampleByName("CylindersAndPrismsBuilder"));
 
     auto code = ExportToPython::generateSampleCode(*sample);
 
diff --git a/Tests/Functional/Std/Run.cpp b/Tests/Functional/Std/Run.cpp
index 6a39bf55437c553c4eb4280a88be2e8580fb7b36..02564237995d82b532e0951e9266c92aee1e337f 100644
--- a/Tests/Functional/Std/Run.cpp
+++ b/Tests/Functional/Std/Run.cpp
@@ -42,7 +42,7 @@ int run(const std::string& test_name, const std::string& sim_name,
 
     int number_of_failed_tests = 0;
     for (size_t iSample = 0; iSample < builder->size(); ++iSample) {
-        std::unique_ptr<MultiLayer> sample(builder->createSample(iSample));
+        std::unique_ptr<MultiLayer> sample(builder->createSampleByIndex(iSample));
         simulation->setSample(*sample);
 
         std::cout << "- run subtest " << iSample << "/" << builder->size() << ": "
diff --git a/Tests/Performance/GUI/GUIPerformanceTest.cpp b/Tests/Performance/GUI/GUIPerformanceTest.cpp
index 0df0e97c54c998422c174877c9922a28dfd37ebe..fe132bf0a1b24deb4abafecd4d484a16237e8b43 100644
--- a/Tests/Performance/GUI/GUIPerformanceTest.cpp
+++ b/Tests/Performance/GUI/GUIPerformanceTest.cpp
@@ -78,7 +78,7 @@ void GUIPerformanceTest::test_domain_to_gui()
     if (!sample) {
         m_models->resetModels();
         SampleBuilderFactory factory;
-        sample.reset(factory.createSample(m_sample_name.toStdString()));
+        sample.reset(factory.createSampleByName(m_sample_name.toStdString()));
     }
 
     m_models->sampleModel()->clear();
@@ -98,7 +98,8 @@ void GUIPerformanceTest::test_gui_to_domain()
         m_models->resetModels();
 
         SampleBuilderFactory factory;
-        const std::unique_ptr<MultiLayer> sample(factory.createSample(m_sample_name.toStdString()));
+        const std::unique_ptr<MultiLayer> sample(
+            factory.createSampleByName(m_sample_name.toStdString()));
 
         GUIObjectBuilder::populateSampleModel(m_models->sampleModel(), m_models->materialModel(),
                                               *sample);
@@ -118,7 +119,8 @@ void GUIPerformanceTest::test_real_time()
         SimulationOptionsItem* optionsItem = m_models->documentModel()->simulationOptionsItem();
 
         SampleBuilderFactory factory;
-        const std::unique_ptr<MultiLayer> sample(factory.createSample(m_sample_name.toStdString()));
+        const std::unique_ptr<MultiLayer> sample(
+            factory.createSampleByName(m_sample_name.toStdString()));
 
         GUIObjectBuilder::populateSampleModel(m_models->sampleModel(), m_models->materialModel(),
                                               *sample);
diff --git a/Tests/Performance/Python/test_performance.py b/Tests/Performance/Python/test_performance.py
index e4a56293c1af1d58b0c949e9a01f020f3d15bf2b..d4dea94d82d9164555dc07854321b0ad4475550c 100755
--- a/Tests/Performance/Python/test_performance.py
+++ b/Tests/Performance/Python/test_performance.py
@@ -89,7 +89,7 @@ class FactoryTest:
             self.m_sample_factory = SampleBuilderFactory()
             self.m_simulation_factory = SimulationFactory()
             self.m_simulation = self.m_simulation_factory.createItem(self.m_simulation_name)
-            self.m_sample = self.m_sample_factory.createSample(self.m_sample_builder_name)
+            self.m_sample = self.m_sample_factory.createSampleByName(self.m_sample_builder_name)
         else:
             self.m_sample_factory = None
             self.m_simulation_factory = None
diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py
index 95f9f09d95819c43d456d7989e1afc96d95f4243..ec4fb701d95538522f698d6307e97e9c9886863c 100644
--- a/auto/Wrap/libBornAgainCore.py
+++ b/auto/Wrap/libBornAgainCore.py
@@ -14008,13 +14008,9 @@ class ISampleBuilder(IParameterized):
         """
         return _libBornAgainCore.ISampleBuilder_buildSample(self)
 
-    def createSample(self, index):
-        r"""
-        createSample(ISampleBuilder self, size_t index) -> MultiLayer
-        virtual MultiLayer* ISampleBuilder::createSample(size_t index)
-
-        """
-        return _libBornAgainCore.ISampleBuilder_createSample(self, index)
+    def createSampleByIndex(self, index):
+        r"""createSampleByIndex(ISampleBuilder self, size_t index) -> MultiLayer"""
+        return _libBornAgainCore.ISampleBuilder_createSampleByIndex(self, index)
 
     def size(self):
         r"""
@@ -22080,15 +22076,9 @@ class SampleBuilderFactory(SampleBuilderFactoryTemp):
         """
         _libBornAgainCore.SampleBuilderFactory_swiginit(self, _libBornAgainCore.new_SampleBuilderFactory())
 
-    def createSample(self, name):
-        r"""
-        createSample(SampleBuilderFactory self, std::string const & name) -> MultiLayer
-        MultiLayer * SampleBuilderFactory::createSample(const std::string &name)
-
-        Retrieves a SampleBuilder from the registry, does the build, and returns the result. 
-
-        """
-        return _libBornAgainCore.SampleBuilderFactory_createSample(self, name)
+    def createSampleByName(self, name):
+        r"""createSampleByName(SampleBuilderFactory self, std::string const & name) -> MultiLayer"""
+        return _libBornAgainCore.SampleBuilderFactory_createSampleByName(self, name)
     __swig_destroy__ = _libBornAgainCore.delete_SampleBuilderFactory
 
 # Register SampleBuilderFactory in _libBornAgainCore:
diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp
index 12ad648c6a202f44401c4772ffe354f94f25f114..0c7043672246dfffd2cb4b6bd45ad8c0079e3fc3 100644
--- a/auto/Wrap/libBornAgainCore_wrap.cpp
+++ b/auto/Wrap/libBornAgainCore_wrap.cpp
@@ -10694,7 +10694,7 @@ MultiLayer *SwigDirector_ISampleBuilder::buildSample() const {
 }
 
 
-MultiLayer *SwigDirector_ISampleBuilder::createSample(size_t index) {
+MultiLayer *SwigDirector_ISampleBuilder::createSampleByIndex(size_t index) {
   MultiLayer *c_result = 0 ;
   void *swig_argp ;
   int swig_res ;
@@ -10707,11 +10707,11 @@ MultiLayer *SwigDirector_ISampleBuilder::createSample(size_t index) {
   }
 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE)
   const size_t swig_method_index = 3;
-  const char *const swig_method_name = "createSample";
+  const char *const swig_method_name = "createSampleByIndex";
   PyObject *method = swig_get_method(swig_method_index, swig_method_name);
   swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL);
 #else
-  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("createSample");
+  swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("createSampleByIndex");
   swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL);
 #endif
   if (!result) {
@@ -88874,7 +88874,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_ISampleBuilder_createSample(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_ISampleBuilder_createSampleByIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   ISampleBuilder *arg1 = (ISampleBuilder *) 0 ;
   size_t arg2 ;
@@ -88889,12 +88889,12 @@ SWIGINTERN PyObject *_wrap_ISampleBuilder_createSample(PyObject *SWIGUNUSEDPARM(
   bool upcall = false;
   MultiLayer *result = 0 ;
   
-  if (!SWIG_Python_UnpackTuple(args, "ISampleBuilder_createSample", 2, 2, swig_obj)) SWIG_fail;
+  if (!SWIG_Python_UnpackTuple(args, "ISampleBuilder_createSampleByIndex", 2, 2, swig_obj)) SWIG_fail;
   {
     int newmem = 0;
     res1 = SWIG_ConvertPtrAndOwn(swig_obj[0], &argp1, SWIGTYPE_p_std__shared_ptrT_ISampleBuilder_t, 0 |  0 , &newmem);
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ISampleBuilder_createSample" "', argument " "1"" of type '" "ISampleBuilder *""'");
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ISampleBuilder_createSampleByIndex" "', argument " "1"" of type '" "ISampleBuilder *""'");
     }
     if (newmem & SWIG_CAST_NEW_MEMORY) {
       tempshared1 = *reinterpret_cast< std::shared_ptr<  ISampleBuilder > * >(argp1);
@@ -88907,16 +88907,16 @@ SWIGINTERN PyObject *_wrap_ISampleBuilder_createSample(PyObject *SWIGUNUSEDPARM(
   }
   ecode2 = SWIG_AsVal_size_t(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ISampleBuilder_createSample" "', argument " "2"" of type '" "size_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ISampleBuilder_createSampleByIndex" "', argument " "2"" of type '" "size_t""'");
   } 
   arg2 = static_cast< size_t >(val2);
   director = SWIG_DIRECTOR_CAST(arg1);
   upcall = (director && (director->swig_get_self()==swig_obj[0]));
   try {
     if (upcall) {
-      result = (MultiLayer *)(arg1)->ISampleBuilder::createSample(arg2);
+      result = (MultiLayer *)(arg1)->ISampleBuilder::createSampleByIndex(arg2);
     } else {
-      result = (MultiLayer *)(arg1)->createSample(arg2);
+      result = (MultiLayer *)(arg1)->createSampleByIndex(arg2);
     }
   } catch (Swig::DirectorException&) {
     SWIG_fail;
@@ -120683,7 +120683,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SampleBuilderFactory_createSample(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_SampleBuilderFactory_createSampleByName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   SampleBuilderFactory *arg1 = (SampleBuilderFactory *) 0 ;
   std::string *arg2 = 0 ;
@@ -120693,24 +120693,24 @@ SWIGINTERN PyObject *_wrap_SampleBuilderFactory_createSample(PyObject *SWIGUNUSE
   PyObject *swig_obj[2] ;
   MultiLayer *result = 0 ;
   
-  if (!SWIG_Python_UnpackTuple(args, "SampleBuilderFactory_createSample", 2, 2, swig_obj)) SWIG_fail;
+  if (!SWIG_Python_UnpackTuple(args, "SampleBuilderFactory_createSampleByName", 2, 2, swig_obj)) SWIG_fail;
   res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SampleBuilderFactory, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SampleBuilderFactory_createSample" "', argument " "1"" of type '" "SampleBuilderFactory *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SampleBuilderFactory_createSampleByName" "', argument " "1"" of type '" "SampleBuilderFactory *""'"); 
   }
   arg1 = reinterpret_cast< SampleBuilderFactory * >(argp1);
   {
     std::string *ptr = (std::string *)0;
     res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr);
     if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SampleBuilderFactory_createSample" "', argument " "2"" of type '" "std::string const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SampleBuilderFactory_createSampleByName" "', argument " "2"" of type '" "std::string const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SampleBuilderFactory_createSample" "', argument " "2"" of type '" "std::string const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SampleBuilderFactory_createSampleByName" "', argument " "2"" of type '" "std::string const &""'"); 
     }
     arg2 = ptr;
   }
-  result = (MultiLayer *)(arg1)->createSample((std::string const &)*arg2);
+  result = (MultiLayer *)(arg1)->createSampleByName((std::string const &)*arg2);
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_MultiLayer, 0 |  0 );
   if (SWIG_IsNewObj(res2)) delete arg2;
   return resultobj;
@@ -128432,11 +128432,7 @@ static PyMethodDef SwigMethods[] = {
 		"virtual MultiLayer* ISampleBuilder::buildSample() const =0\n"
 		"\n"
 		""},
-	 { "ISampleBuilder_createSample", _wrap_ISampleBuilder_createSample, METH_VARARGS, "\n"
-		"ISampleBuilder_createSample(ISampleBuilder self, size_t index) -> MultiLayer\n"
-		"virtual MultiLayer* ISampleBuilder::createSample(size_t index)\n"
-		"\n"
-		""},
+	 { "ISampleBuilder_createSampleByIndex", _wrap_ISampleBuilder_createSampleByIndex, METH_VARARGS, "ISampleBuilder_createSampleByIndex(ISampleBuilder self, size_t index) -> MultiLayer"},
 	 { "ISampleBuilder_size", _wrap_ISampleBuilder_size, METH_O, "\n"
 		"ISampleBuilder_size(ISampleBuilder self) -> size_t\n"
 		"virtual size_t ISampleBuilder::size()\n"
@@ -133123,13 +133119,7 @@ static PyMethodDef SwigMethods[] = {
 		"SampleBuilderFactory::SampleBuilderFactory()\n"
 		"\n"
 		""},
-	 { "SampleBuilderFactory_createSample", _wrap_SampleBuilderFactory_createSample, METH_VARARGS, "\n"
-		"SampleBuilderFactory_createSample(SampleBuilderFactory self, std::string const & name) -> MultiLayer\n"
-		"MultiLayer * SampleBuilderFactory::createSample(const std::string &name)\n"
-		"\n"
-		"Retrieves a SampleBuilder from the registry, does the build, and returns the result. \n"
-		"\n"
-		""},
+	 { "SampleBuilderFactory_createSampleByName", _wrap_SampleBuilderFactory_createSampleByName, METH_VARARGS, "SampleBuilderFactory_createSampleByName(SampleBuilderFactory self, std::string const & name) -> MultiLayer"},
 	 { "delete_SampleBuilderFactory", _wrap_delete_SampleBuilderFactory, METH_O, "delete_SampleBuilderFactory(SampleBuilderFactory self)"},
 	 { "SampleBuilderFactory_swigregister", SampleBuilderFactory_swigregister, METH_O, NULL},
 	 { "SampleBuilderFactory_swiginit", SampleBuilderFactory_swiginit, METH_VARARGS, NULL},
diff --git a/auto/Wrap/libBornAgainCore_wrap.h b/auto/Wrap/libBornAgainCore_wrap.h
index e5dcf3a29fc990058ce99412fb18b47a56882150..5a82c364336f9d1364d110283061fcf778672932 100644
--- a/auto/Wrap/libBornAgainCore_wrap.h
+++ b/auto/Wrap/libBornAgainCore_wrap.h
@@ -479,7 +479,7 @@ public:
     virtual ParameterPool *createParameterTree() const;
     virtual void onChange();
     virtual MultiLayer *buildSample() const;
-    virtual MultiLayer *createSample(size_t index);
+    virtual MultiLayer *createSampleByIndex(size_t index);
     virtual size_t size();
 
 /* Internal director utilities */