diff --git a/auto/Wrap/doxygen_core.i b/auto/Wrap/doxygen_core.i
index e8b51ca7a1eb4662116e8c8886c56d545b73d8f0..6d12ff33fc18417c7785e499cbb804314291be51 100644
--- a/auto/Wrap/doxygen_core.i
+++ b/auto/Wrap/doxygen_core.i
@@ -6316,6 +6316,11 @@ C++ includes: ICloneable.h
 %feature("docstring")  ICloneable::clone "virtual ICloneable* ICloneable::clone() const =0
 ";
 
+%feature("docstring")  ICloneable::transferToCPP "virtual void ICloneable::transferToCPP()
+
+Used for Python overriding of clone (see swig/tweaks.py) 
+";
+
 
 // File: classIClusteredParticles.xml
 %feature("docstring") IClusteredParticles "
@@ -7884,10 +7889,10 @@ Returns a vector of children (const).
 %feature("docstring")  INode::setParent "void INode::setParent(const INode *newParent)
 ";
 
-%feature("docstring")  INode::parent "INode * INode::parent() const
+%feature("docstring")  INode::parent "const INode * INode::parent() const
 ";
 
-%feature("docstring")  INode::parent "INode* INode::parent()
+%feature("docstring")  INode::parent "INode * INode::parent()
 ";
 
 %feature("docstring")  INode::copyNumber "int INode::copyNumber(const INode *node) const
@@ -8362,12 +8367,12 @@ Sets the beam's polarization according to the given Bloch vector.
 Returns the beam's intensity. 
 ";
 
-%feature("docstring")  Instrument::getDetector "IDetector * Instrument::getDetector() const
+%feature("docstring")  Instrument::getDetector "const IDetector * Instrument::getDetector() const
 
 Returns the detector data. 
 ";
 
-%feature("docstring")  Instrument::getDetector "IDetector* Instrument::getDetector()
+%feature("docstring")  Instrument::getDetector "IDetector * Instrument::getDetector()
 ";
 
 %feature("docstring")  Instrument::getDetectorMask "const DetectorMask * Instrument::getDetectorMask() const
@@ -11749,12 +11754,12 @@ Returns copy of raw data vector.
 Returns sum of all values in the data structure. 
 ";
 
-%feature("docstring")  OutputData::begin "OutputData< T >::const_iterator OutputData< T >::begin()
+%feature("docstring")  OutputData::begin "OutputData< T >::iterator OutputData< T >::begin()
 
 Returns read/write iterator that points to the first element. 
 ";
 
-%feature("docstring")  OutputData::begin "const_iterator OutputData< T >::begin() const
+%feature("docstring")  OutputData::begin "OutputData< T >::const_iterator OutputData< T >::begin() const
 
 Returns read-only iterator that points to the first element. 
 ";
@@ -12184,10 +12189,10 @@ get number of samples for this distribution
 get the sigma factor 
 ";
 
-%feature("docstring")  ParameterDistribution::getDistribution "IDistribution1D * ParameterDistribution::getDistribution() const
+%feature("docstring")  ParameterDistribution::getDistribution "const IDistribution1D * ParameterDistribution::getDistribution() const
 ";
 
-%feature("docstring")  ParameterDistribution::getDistribution "IDistribution1D* ParameterDistribution::getDistribution()
+%feature("docstring")  ParameterDistribution::getDistribution "IDistribution1D * ParameterDistribution::getDistribution()
 ";
 
 %feature("docstring")  ParameterDistribution::generateSamples "std::vector< ParameterSample > ParameterDistribution::generateSamples() const
@@ -20657,83 +20662,86 @@ Calculates the z-coordinate of the highest vertex after rotation.
 // File: deprecated.xml
 
 
-// File: dir_5f1a4a05eca575eab319839347bb4113.xml
+// File: dir_52a2c863b7b3435f7dcd40f26828d521.xml
+
+
+// File: dir_41e08c09ca0aab46c4ada92f12a8c00b.xml
 
 
-// File: dir_f2db70b1039b2dc98a7a13a1758f382f.xml
+// File: dir_62267e76eb3874f0ae495e190c69ec26.xml
 
 
-// File: dir_2afd61a498231c74441502b63b50f75c.xml
+// File: dir_4544cbc948815333bef1258cf6b298b8.xml
 
 
-// File: dir_629bf8536959f2975d8caec326cd60c0.xml
+// File: dir_d0c8f8fb9032c27878972645c4679f14.xml
 
 
-// File: dir_7de90f35ae2a2c7b4fa95823d333cc96.xml
+// File: dir_404b7d29693a4f046d60c2eccafd1df4.xml
 
 
-// File: dir_c6310732a22f63c0c2fc5595561e68f1.xml
+// File: dir_c83916cd1ff49c9e86c8a91c5655951d.xml
 
 
-// File: dir_e5c18127747cd9d7214e02067b529d74.xml
+// File: dir_59be1faf7048e95263c2fcba140abda1.xml
 
 
-// File: dir_cca9b87b2505f372a6ce58947a507789.xml
+// File: dir_e746abb3ff095e53619d5a61a48e781a.xml
 
 
-// File: dir_4470199ae7eb44153ffe31d163ed0f28.xml
+// File: dir_554fcc4911648c79d524724e80d45fa4.xml
 
 
-// File: dir_05b265732c0b4c8e8dad02f2f774744b.xml
+// File: dir_cc3c45a5d33be920aaf94cb9b9fbdb35.xml
 
 
-// File: dir_72a38c5b455c03a72881c3c65e21783d.xml
+// File: dir_9a756f0b2738ef3b5663c172b32b6a4b.xml
 
 
-// File: dir_d7044b5fc4daccc5700de9f07da81a11.xml
+// File: dir_e8bc32d0cf85ef86a42504cd31af1370.xml
 
 
-// File: dir_602d2305564088eb1fd2ee9e74929d48.xml
+// File: dir_8b890ad49a09d8f36525f5af93e5737c.xml
 
 
-// File: dir_7f8c371d7d9c2d18aea541845cde06e7.xml
+// File: dir_9bdb7f774cce5b77ddd3ed60472b168c.xml
 
 
-// File: dir_24998d15d4ee11ef081e71321705b47b.xml
+// File: dir_74beab5553c7ad06e27a6baadceea9c3.xml
 
 
-// File: dir_0bf70e747e161ad6105733dd3b116e64.xml
+// File: dir_bcc7f66c041cef9b775368068412e104.xml
 
 
-// File: dir_c21740227f50b02f28bdacfb625f042a.xml
+// File: dir_95667ae48b286f0957284f712e6e3af5.xml
 
 
-// File: dir_d4e34ce36424db6c5895519defe19e58.xml
+// File: dir_4251a3aefb390b6051267154c2f94d1e.xml
 
 
-// File: dir_3a34810b9fbc1682c26e767b1a1a5860.xml
+// File: dir_529c0a19338d84aadf389c7b83eb56b1.xml
 
 
-// File: dir_6babb1605c026604526d064f820d612b.xml
+// File: dir_051c0ff7ebc48614253af3001519ace0.xml
 
 
-// File: dir_39b907ea01a3fff6bda4d39415594941.xml
+// File: dir_36d1defb21dc876b1f67ee9031b0bd99.xml
 
 
-// File: dir_d7a24665a95cfc15308ebd7b07b5ebd6.xml
+// File: dir_f59c6b3c978505a5ca3672a364c1918e.xml
 
 
-// File: dir_98377dc177883022b630a05f6f34fc13.xml
+// File: dir_a6771983dbfae0fa34418cceda77572a.xml
 
 
-// File: dir_bf872a709c84554e66a8525bb546523f.xml
+// File: dir_871fae137308712382f6192f4445a900.xml
 
 
-// File: dir_5d2259b43612a5a0ff7512df653d7370.xml
+// File: dir_44b1a8f39c14c02f6e3c2be419aa97b0.xml
 
 
-// File: dir_e120110860f9b345e7b3217e8b15cbb8.xml
+// File: dir_1a0696269c107461a4ce8ff1a48cd2f2.xml
 
 
-// File: dir_19cd2158bba3b9a051f8f27403820580.xml
+// File: dir_7f288243cf9c204a176dfbf45ea9d349.xml
 
diff --git a/auto/Wrap/doxygen_fit.i b/auto/Wrap/doxygen_fit.i
index e25c3ccf26ff4093f825531e94ea79e6c24f7a89..05305fddfda9bb05380e579af09804dbf64366cf 100644
--- a/auto/Wrap/doxygen_fit.i
+++ b/auto/Wrap/doxygen_fit.i
@@ -805,16 +805,16 @@ C++ includes: Parameters.h
 %feature("docstring")  Fit::Parameters::add "void Parameters::add(const Parameter &par)
 ";
 
-%feature("docstring")  Fit::Parameters::begin "Parameters::iterator Parameters::begin() const
+%feature("docstring")  Fit::Parameters::begin "Parameters::const_iterator Parameters::begin() const
 ";
 
-%feature("docstring")  Fit::Parameters::end "Parameters::iterator Parameters::end() const
+%feature("docstring")  Fit::Parameters::end "Parameters::const_iterator Parameters::end() const
 ";
 
-%feature("docstring")  Fit::Parameters::begin "iterator Fit::Parameters::begin()
+%feature("docstring")  Fit::Parameters::begin "Parameters::iterator Parameters::begin()
 ";
 
-%feature("docstring")  Fit::Parameters::end "iterator Fit::Parameters::end()
+%feature("docstring")  Fit::Parameters::end "Parameters::iterator Parameters::end()
 ";
 
 %feature("docstring")  Fit::Parameters::size "size_t Parameters::size() const
@@ -1613,17 +1613,20 @@ Returns new string which is lower case of text.
 // File: TimeInterval_8h.xml
 
 
-// File: dir_892d84e8d1420bf45a9053cf0eede900.xml
+// File: dir_d0c8f8fb9032c27878972645c4679f14.xml
 
 
-// File: dir_ddbc8017d498762c6500a9e593e25277.xml
+// File: dir_befad91b6aded329d87ab1464acca32e.xml
 
 
-// File: dir_7c95011753c2f8fb6f2a9c22c1fbdc50.xml
+// File: dir_f9473c719213b1ce2ec7fbf8aef1535c.xml
 
 
-// File: dir_5e88eb7454533834afc0f9fdcde3e277.xml
+// File: dir_f668eca225435178269b3663d40ba22e.xml
 
 
-// File: dir_e87cef4d6f8e4c4c298cf0a4783d30f5.xml
+// File: dir_50776eae6dbf3f787dd8fd4106a9bdd2.xml
+
+
+// File: dir_56a15659684b74af87eef25c488d32da.xml
 
diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py
index a3543403f18801234fb543009d97ef7e9cda0981..9b081693d489c338231a73db77fb7c769428c86c 100644
--- a/auto/Wrap/libBornAgainCore.py
+++ b/auto/Wrap/libBornAgainCore.py
@@ -1791,7 +1791,13 @@ class ICloneable(object):
         return _libBornAgainCore.ICloneable_clone(self)
 
     def transferToCPP(self):
-        r"""transferToCPP(ICloneable self)"""
+        r"""
+        transferToCPP(ICloneable self)
+        virtual void ICloneable::transferToCPP()
+
+        Used for Python overriding of clone (see swig/tweaks.py) 
+
+        """
         return self.__disown__()
 
 # Register ICloneable in _libBornAgainCore:
@@ -2078,7 +2084,7 @@ class INode(IParameterized):
         r"""
         parent(INode self) -> INode
         parent(INode self) -> INode
-        INode* INode::parent()
+        INode * INode::parent()
 
         """
         return _libBornAgainCore.INode_parent(self, *args)
@@ -16731,7 +16737,7 @@ class Instrument(INode):
         r"""
         getDetector(Instrument self) -> IDetector
         getDetector(Instrument self) -> IDetector
-        IDetector* Instrument::getDetector()
+        IDetector * Instrument::getDetector()
 
         """
         return _libBornAgainCore.Instrument_getDetector(self, *args)
@@ -20348,7 +20354,7 @@ class IntensityData(object):
         r"""
         begin(IntensityData self) -> OutputData< double >::iterator
         begin(IntensityData self) -> OutputData< double >::const_iterator
-        const_iterator OutputData< T >::begin() const
+        OutputData< T >::const_iterator OutputData< T >::begin() const
 
         Returns read-only iterator that points to the first element. 
 
@@ -20692,7 +20698,7 @@ class ParameterDistribution(IParameterized):
         r"""
         getDistribution(ParameterDistribution self) -> IDistribution1D
         getDistribution(ParameterDistribution self) -> IDistribution1D
-        IDistribution1D* ParameterDistribution::getDistribution()
+        IDistribution1D * ParameterDistribution::getDistribution()
 
         """
         return _libBornAgainCore.ParameterDistribution_getDistribution(self, *args)
diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp
index d4e6afc7c20a0f842f4e3d0e85f52751cf1628cb..a06bd51f42fce91a4ec5892bb27e6f8ea7842220 100644
--- a/auto/Wrap/libBornAgainCore_wrap.cpp
+++ b/auto/Wrap/libBornAgainCore_wrap.cpp
@@ -5899,7 +5899,7 @@ SWIG_AsVal_std_complex_Sl_double_Sg_  (PyObject *o, std::complex<double>* val)
 
 
 SWIGINTERNINLINE PyObject*
-SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/share/swig4.0/typemaps/swigmacros.swg,104,%ifcplusplus@*/
+SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/local/share/swig/4.0.1/typemaps/swigmacros.swg,104,%ifcplusplus@*/
 
 const std::complex<double>&
 
@@ -122549,7 +122549,13 @@ static PyMethodDef SwigMethods[] = {
 		"virtual ICloneable* ICloneable::clone() const =0\n"
 		"\n"
 		""},
-	 { "ICloneable_transferToCPP", _wrap_ICloneable_transferToCPP, METH_O, "ICloneable_transferToCPP(ICloneable self)"},
+	 { "ICloneable_transferToCPP", _wrap_ICloneable_transferToCPP, METH_O, "\n"
+		"ICloneable_transferToCPP(ICloneable self)\n"
+		"virtual void ICloneable::transferToCPP()\n"
+		"\n"
+		"Used for Python overriding of clone (see swig/tweaks.py) \n"
+		"\n"
+		""},
 	 { "ICloneable_swigregister", ICloneable_swigregister, METH_O, NULL},
 	 { "new_INamed", _wrap_new_INamed, METH_VARARGS, "\n"
 		"INamed()\n"
@@ -122696,7 +122702,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "INode_parent", _wrap_INode_parent, METH_VARARGS, "\n"
 		"INode_parent(INode self) -> INode\n"
 		"INode_parent(INode self) -> INode\n"
-		"INode* INode::parent()\n"
+		"INode * INode::parent()\n"
 		"\n"
 		""},
 	 { "INode_copyNumber", _wrap_INode_copyNumber, METH_VARARGS, "\n"
@@ -131200,7 +131206,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "Instrument_getDetector", _wrap_Instrument_getDetector, METH_VARARGS, "\n"
 		"Instrument_getDetector(Instrument self) -> IDetector\n"
 		"Instrument_getDetector(Instrument self) -> IDetector\n"
-		"IDetector* Instrument::getDetector()\n"
+		"IDetector * Instrument::getDetector()\n"
 		"\n"
 		""},
 	 { "Instrument_getDetectorMask", _wrap_Instrument_getDetectorMask, METH_O, "\n"
@@ -133402,7 +133408,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "IntensityData_begin", _wrap_IntensityData_begin, METH_VARARGS, "\n"
 		"IntensityData_begin(IntensityData self) -> OutputData< double >::iterator\n"
 		"IntensityData_begin(IntensityData self) -> OutputData< double >::const_iterator\n"
-		"const_iterator OutputData< T >::begin() const\n"
+		"OutputData< T >::const_iterator OutputData< T >::begin() const\n"
 		"\n"
 		"Returns read-only iterator that points to the first element. \n"
 		"\n"
@@ -133651,7 +133657,7 @@ static PyMethodDef SwigMethods[] = {
 	 { "ParameterDistribution_getDistribution", _wrap_ParameterDistribution_getDistribution, METH_VARARGS, "\n"
 		"ParameterDistribution_getDistribution(ParameterDistribution self) -> IDistribution1D\n"
 		"ParameterDistribution_getDistribution(ParameterDistribution self) -> IDistribution1D\n"
-		"IDistribution1D* ParameterDistribution::getDistribution()\n"
+		"IDistribution1D * ParameterDistribution::getDistribution()\n"
 		"\n"
 		""},
 	 { "ParameterDistribution_generateSamples", _wrap_ParameterDistribution_generateSamples, METH_O, "\n"
diff --git a/auto/Wrap/libBornAgainFit.py b/auto/Wrap/libBornAgainFit.py
index 804284749c37a543dac370bf2c6c0b29dfeed88c..7088d82324b936f34758e67998fe7ae4d8e186a8 100644
--- a/auto/Wrap/libBornAgainFit.py
+++ b/auto/Wrap/libBornAgainFit.py
@@ -1722,7 +1722,7 @@ class Parameters(object):
         r"""
         begin(Parameters self) -> Fit::Parameters::const_iterator
         begin(Parameters self) -> Fit::Parameters::iterator
-        iterator Fit::Parameters::begin()
+        Parameters::iterator Parameters::begin()
 
         """
         return _libBornAgainFit.Parameters_begin(self, *args)
@@ -1731,7 +1731,7 @@ class Parameters(object):
         r"""
         end(Parameters self) -> Fit::Parameters::const_iterator
         end(Parameters self) -> Fit::Parameters::iterator
-        iterator Fit::Parameters::end()
+        Parameters::iterator Parameters::end()
 
         """
         return _libBornAgainFit.Parameters_end(self, *args)
diff --git a/auto/Wrap/libBornAgainFit_wrap.cpp b/auto/Wrap/libBornAgainFit_wrap.cpp
index cce029d0b810be88d5e222b4c294bc81ff80343c..c37647db52815de440a810746408cb59449df43c 100644
--- a/auto/Wrap/libBornAgainFit_wrap.cpp
+++ b/auto/Wrap/libBornAgainFit_wrap.cpp
@@ -5491,7 +5491,7 @@ SWIG_AsVal_std_complex_Sl_double_Sg_  (PyObject *o, std::complex<double>* val)
 
 
 SWIGINTERNINLINE PyObject*
-SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/share/swig4.0/typemaps/swigmacros.swg,104,%ifcplusplus@*/
+SWIG_From_std_complex_Sl_double_Sg_  (/*@SWIG:/usr/local/share/swig/4.0.1/typemaps/swigmacros.swg,104,%ifcplusplus@*/
 
 const std::complex<double>&
 
@@ -22417,13 +22417,13 @@ static PyMethodDef SwigMethods[] = {
 	 { "Parameters_begin", _wrap_Parameters_begin, METH_VARARGS, "\n"
 		"Parameters_begin(Parameters self) -> Fit::Parameters::const_iterator\n"
 		"Parameters_begin(Parameters self) -> Fit::Parameters::iterator\n"
-		"iterator Fit::Parameters::begin()\n"
+		"Parameters::iterator Parameters::begin()\n"
 		"\n"
 		""},
 	 { "Parameters_end", _wrap_Parameters_end, METH_VARARGS, "\n"
 		"Parameters_end(Parameters self) -> Fit::Parameters::const_iterator\n"
 		"Parameters_end(Parameters self) -> Fit::Parameters::iterator\n"
-		"iterator Fit::Parameters::end()\n"
+		"Parameters::iterator Parameters::end()\n"
 		"\n"
 		""},
 	 { "Parameters_size", _wrap_Parameters_size, METH_O, "\n"