diff --git a/code_new/Sumit/rdown.py b/code_new/Sumit/rdown.py
index 1357ccbf98a454670c79fb49574d7fe1447e243a..29367d3c79da49feb8afc19a4633ca655dce5a51 100644
--- a/code_new/Sumit/rdown.py
+++ b/code_new/Sumit/rdown.py
@@ -35,7 +35,7 @@ q_fpars=[[0.584077, 1.52053, -0.480658], [0.00561441, 0.630715, -0.432664], [-0.
 c=2.99792458*10**8;G=6.67259*10**(-11);MS=1.9885*10**30;
 class Ringdown_Spectrum:
     """RDown model generator"""
-    def __init__(self,mf,af,l,m,n=4,s=-2,time=[],fixed=False,qnm_model='berti'):
+    def __init__(self,mf,af,l,m,n=4,s=-2,time=[],fixed=False,qnm_model='berti',rdowndata=[]):
         self.mf = mf
         self.af = af
         self.l = l
@@ -46,7 +46,8 @@ class Ringdown_Spectrum:
         self.dim = self.n+1
         self.fixed = fixed
         self.qnm_model = qnm_model
-        dict_omega = {'berti': self.QNM_Berti , 'qnm': self.QNM_spectrum}
+        self.dict_omega = {'berti': self.QNM_Berti , 'qnm': self.QNM_spectrum}
+        self.rdowndata = rdowndata
         dic = {'w-tau':self.rd_model_wtau , 'w-q': self.rd_model_wq, 'w-tau-fixed':self.rd_model_wtau_fixed,'w-tau-fixed-m-af': self.rd_model_wtau_m_af}
       
         if len(self.time)==0:
@@ -67,18 +68,18 @@ class Ringdown_Spectrum:
     
         return (w_m_a, tau_m_a)
     
-    def QNM_Berti(self,rdowndata):
+    def QNM_Berti(self,mass,spin):
         """ It computes the RD frequencies and damping times in NR units.
         """     
-        position=np.argmax(rdowndata[0,0] >= (self.af))
+        position=np.argmax(self.rdowndata[0,0] >= (spin))
         #w_m_a=f1+f2*(1-af)**f3
         w_m_a=[None]*(self.n+1)
         tau_ma_a=[None]*(self.n+1)
     
         for i in range(self.n+1):
-            qnm=rdowndata[i,1:3,position]
-            w_m_a[i] = qnm[0]/self.mf
-            tau_ma_a[i] = -1/(qnm[1])*self.mf
+            qnm=self.rdowndata[i,1:3,position]
+            w_m_a[i] = qnm[0]/mass
+            tau_ma_a[i] = -1/(qnm[1])*mass
 
         return w_m_a, tau_ma_a
     
@@ -134,31 +135,31 @@ class Ringdown_Spectrum:
             # -1j to agree with SXS convention
         return ansatz
     
-    def rd_model_wtau_m_af(theta):
+    def rd_model_wtau_m_af(self,theta):
         """RD model parametrized with the damping time tau and with the QNM spectrum fixd to GR. The QNM spectrum is given from the mass and spin.
         """ 
-        xvars = theta[ : (dim)]
-        yvars = theta[(dim) : 2*(dim)]
-        mass_vars = theta[index_mass]
-        spin_vars = theta[index_spin]
+        xvars = theta[ : (self.dim)]
+        yvars = theta[(self.dim) : 2*(self.dim)]
+        mass_vars = theta[-2]
+        spin_vars = theta[-1]
 
-        w_m_a , tau_m_a = dict_omega[self.qnm_model](mass_vars,spin_vars,2,2)
+        w_m_a , tau_m_a = self.dict_omega[self.qnm_model](mass_vars,spin_vars)
 
         ansatz = 0
-        for i in range (0,dim):
-            ansatz += (xvars[i]*np.exp(1j*yvars[i]))*np.exp(-timesrd_final_tsh/tau_m_a[i]) * (np.cos(w_m_a[i]*timesrd_final_tsh)-1j*np.sin(w_m_a[i]*timesrd_final_tsh))
+        for i in range (0,self.dim):
+            ansatz += (xvars[i]*np.exp(1j*yvars[i]))*np.exp(-self.time/tau_m_a[i]) * (np.cos(w_m_a[i]*self.time)-1j*np.sin(w_m_a[i]*self.time))
         # -1j to agree with SXS convention
         return ansatz
     
-    def rd_model_wtau_fixed(theta):
+    def rd_model_wtau_fixed(self,theta):
         """RD model parametrized with the damping time tau and with the QNM spectrum fixd to GR. 
         """ 
-        xvars = theta[ : (dim)]
-        yvars = theta[(dim) : 2*(dim)]
+        xvars = theta[ : (self.dim)]
+        yvars = theta[(self.dim) : 2*(self.dim)]
 
         ansatz = 0
-        for i in range (0,dim):
-            ansatz += (xvars[i]*np.exp(1j*yvars[i]))*np.exp(-timesrd_final_tsh/tau[i]) * (np.cos(w[i]*timesrd_final_tsh)-1j*np.sin(w[i]*timesrd_final_tsh))
+        for i in range (0,self.dim):
+            ansatz += (xvars[i]*np.exp(1j*yvars[i]))*np.exp(-self.time/tau[i]) * (np.cos(w[i]*self.time)-1j*np.sin(w[i]*self.time))
         # -1j to agree with SXS convention
         return ansatz