diff --git a/googletest-src b/googletest-src
deleted file mode 160000
index ec44c6c1675c25b9827aacd08c02433cccde7780..0000000000000000000000000000000000000000
--- a/googletest-src
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ec44c6c1675c25b9827aacd08c02433cccde7780
diff --git a/python-xmlrunner-src b/python-xmlrunner-src
deleted file mode 160000
index 8f580c2d37240db2ef5b5c0cc30931b38c651481..0000000000000000000000000000000000000000
--- a/python-xmlrunner-src
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8f580c2d37240db2ef5b5c0cc30931b38c651481
diff --git a/scripts/Muon/GUI/Common/dummy/dummy_widget.py b/scripts/Muon/GUI/Common/dummy/dummy_widget.py
index 6be991e67854f28b96b704893312e4499fa365e3..b3a3cfcb49ee44fbae42ce62dee7871477a4fef1 100644
--- a/scripts/Muon/GUI/Common/dummy/dummy_widget.py
+++ b/scripts/Muon/GUI/Common/dummy/dummy_widget.py
@@ -14,7 +14,7 @@ class DummyWidget(object):
         self.presenter = DummyPresenter(view,model)
 
     @property
-    def presneter(self):
+    def presenter(self):
         return self.presenter
 
     @property
diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_model.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_model.py
index c4d88d652230686ebb15517f0dea3d1a8f446156..4c61db10f93db6cf84243e0a94e0d82381f3ccab 100644
--- a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_model.py
+++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_model.py
@@ -16,7 +16,11 @@ class FFTWrapper(object):
     def __init__(self, FFT):
         self.name = "FFT"
         self.model = FFT
-
+        self.phaseTable = None
+        self.preRe = None
+        self.preIm = None
+        self.FFT = None
+ 
     def cancel(self):
         self.model.cancel()
 
diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_presenter.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_presenter.py
index ab490f3c3536ac6a22bc90f4eff11f8ee749eb58..f9929e1ffb9a5fb0c15953f719c18f10b84d3f41 100644
--- a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_presenter.py
+++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_presenter.py
@@ -73,8 +73,7 @@ class FFTPresenter(object):
             return
         # put this on its own thread so not to freeze Mantid
         self.thread = self.createThread()
-        self.thread.started.connect(self.deactivate)
-        self.thread.finished.connect(self.handleFinished)
+        self.thread.threadWrapperSetUp(self.deactivate,self.handleFinished)
 
         # make some inputs
         inputs = {}
@@ -126,6 +125,7 @@ class FFTPresenter(object):
     # kills the thread at end of execution
     def handleFinished(self):
         self.activate()
+        self.thread.threadWrapperTearDown(self.deactivate,self.handleFinished)
         self.thread.deleteLater()
         self.thread = None
 
diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py
index 39151ac42b912a4a4c339ab7609b26aca1869532..ab8bbaae54464549c888c11e313a9533f897ef3b 100644
--- a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py
+++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py
@@ -16,15 +16,15 @@ class FFTWidget(QtGui.QWidget):
         fft = FFTModel()
         model = FFTWrapper(fft)
 
-        self.pres = FFTPresenter(view=view, alg=model, load=load)
+        self._presenter = FFTPresenter(view=view, alg=model, load=load)
 
     @property
     def presenter(self):
-        return self.pres
+        return self._presenter
 
     @property
     def widget(self):
-        return self.pres.widget
+        return self._presenter.widget
 
     def closeEvent(self, event):
-        self.pres.cancel()
+        self._presenter.cancel()
diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py
index 28e078a2590d34c916a6119511a03a1c22a71075..246c76d9393b6363af7ff1c5d06accf4bc4db202 100644
--- a/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py
+++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py
@@ -15,15 +15,15 @@ class MaxEntWidget(QtGui.QWidget):
 
         maxEnt = MaxEntModel()
         model = MaxEntWrapper(maxEnt)
-        self.pres = MaxEntPresenter(view, model, load)
+        self._presenter = MaxEntPresenter(view, model, load)
 
     @property
     def presenter(self):
-        return self.pres
+        return self._presenter
 
     @property
     def widget(self):
-        return self.pres.widget
+        return self._presenter.widget
 
     def closeEvent(self, event):
-        self.pres.cancel()
+        self._presenter.cancel()
diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py
index c2a06277d11a579fc317b0834c7d8582552a214c..547b12d3904be4dda1d0bf7c8546e4abf5e4e33d 100644
--- a/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py
+++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py
@@ -12,34 +12,34 @@ from PyQt4 import QtGui
 class TransformWidget(QtGui.QWidget):
     def __init__(self, load, parent=None):
         super(TransformWidget,self).__init__(parent)
-        self.fft = FFTWidget(load=load,parent=self)
-        self.maxent = MaxEntWidget(load=load,parent=self)
-        self.selector = TransformSelectionWidget(parent=self)
+        self._fft = FFTWidget(load=load,parent=self)
+        self._maxent = MaxEntWidget(load=load,parent=self)
+        self._selector = TransformSelectionWidget(parent=self)
 
         groupedViews = self.getViews()
 
-        self.view = TransformView(self.selector.widget, groupedViews,parent)
+        self._view = TransformView(self._selector.widget, groupedViews,parent)
 
-        self.selector.setSelectionConnection(self.updateDisplay)
+        self._selector.setSelectionConnection(self.updateDisplay)
 
     @property
     def widget(self):
-        return self.view
+        return self._view
 
     def mockWidget(self, mockView):
-        self.view = mockView
+        self._view = mockView
 
     def closeEvent(self,event):
-        self.selector.closeEvent(event)
-        self.fft.closeEvent(event)
-        self.maxent.closeEvent(event)
+        self._selector.closeEvent(event)
+        self._fft.closeEvent(event)
+        self._maxent.closeEvent(event)
 
     def updateDisplay(self,method):
-        self.view.hideAll()
-        self.view.show(method)
+        self._view.hideAll()
+        self._view.show(method)
 
     def getViews(self):
         groupedViews = {}
-        groupedViews["FFT"] = self.fft.widget
-        groupedViews["MaxEnt"] = self.maxent.widget
+        groupedViews["FFT"] = self._fft.widget
+        groupedViews["MaxEnt"] = self._maxent.widget
         return groupedViews
diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py
index f4e0213599b242de04e48f8f6c671f43598686da..7a379289b10bd71c973280efbee5a0ba5da30798 100644
--- a/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py
+++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py
@@ -11,7 +11,7 @@ class TransformSelectionWidget(QtGui.QWidget):
     def __init__(self, parent=None):
         super(TransformSelectionWidget, self).__init__(parent)
         view = TransformSelectionView(parent)
-        self.pres = TransformSelectionPresenter(view)
+        self._presenter = TransformSelectionPresenter(view)
 
     def setSelectionConnection(self, slot):
         view = self.widget
@@ -19,8 +19,8 @@ class TransformSelectionWidget(QtGui.QWidget):
 
     @property
     def presenter(self):
-        return self.pres
+        return self._presenter
 
     @property
     def widget(self):
-        return self.pres.widget
+        return self._presenter.widget