diff --git a/build/lib/iexcode/instruments/VLS_PGM.py b/build/lib/iexcode/instruments/VLS_PGM.py
index 6dffc780bd41acfaa9cdbec6db16157fa51082de..ff754e5190d8670fcc20a532bfd5dd6f510cfd7a 100644
--- a/build/lib/iexcode/instruments/VLS_PGM.py
+++ b/build/lib/iexcode/instruments/VLS_PGM.py
@@ -9,7 +9,7 @@ import numpy as np
 from epics import caget,caput
 from iexcode.instruments.IEX_BL_config import *
 from iexcode.instruments.utilities import print_warning_message,read_dict
-
+from iexcode.instruments.scanRecord import *
 
 ##############################################################################################################
 ################################             mono             ##############################
@@ -543,7 +543,7 @@ def mono_scan_table(hv_array,**kwargs):
 
     #Setting up the ScanRecord for Mono in Table mode
     val_pv, rbv_pv = mono_scan_pvs()
-    iex.BL.mda.fillin.table(val_pv,rbv_pv,hv_array,**kwargs)
+    scan_fillin_table(val_pv,rbv_pv,hv_array,**kwargs)
 
     #mono needs to stay and have a longer settling time
     iex.BL.mda.positioner_settling_time(kwargs['positioner_settling_time'])
@@ -555,7 +555,7 @@ def mono_scan_after(**kwargs):
     """
     after_scan_pv = iex.BL.mda.default_after_scan_seq
     caput(after_scan_pv+".PROC",1)
-    iex.BL.mda.positioner_after_scan("PRIOR POS")
+    iex.BL.mda.positioner_after_scan("PRIOR POS",kwargs)
 
 
 ##############################################################################################################
diff --git a/build/lib/iexcode/instruments/electron_analyzer.py b/build/lib/iexcode/instruments/electron_analyzer.py
index 52fd4ffb375fac9030c1818b10b11f30b422387e..6c192f8a52bc64369e15db713f97f4fd8b8c93d2 100644
--- a/build/lib/iexcode/instruments/electron_analyzer.py
+++ b/build/lib/iexcode/instruments/electron_analyzer.py
@@ -327,7 +327,7 @@ def scanEA(EAlist,**kwargs):
         
     """
 
-    kwargs.setdefault('scanIOC',iex.BL.ioc())
+    kwargs.setdefault('scanIOC',iex.BL.ioc)
     kwargs.setdefault('scan_dim',1)
     kwargs.setdefault('execute',True)
     kwargs.setdefault("debug",False)
diff --git a/build/lib/iexcode/instruments/scalers.py b/build/lib/iexcode/instruments/scalers.py
index df39f3910ee1aacd5680b1491f32152a673ae1da..705710f3bce187e746b4e09743c83870d4b1512b 100644
--- a/build/lib/iexcode/instruments/scalers.py
+++ b/build/lib/iexcode/instruments/scalers.py
@@ -38,9 +38,9 @@ def Octupole_scaler(time_seconds,verbose):
     Sets the integration time for the scalers in the Kappa chamber
     and mpa filter num if mpa is running
     """
-    scaler_pv="29ideMZ0:scaler1.TP"
+    scaler_pv="29ide:scaler1.TP" #JM fix here
     
-    caput(pv,time_seconds)
+    caput(scaler_pv,time_seconds)
 
     if verbose: 
         print("Integration time set to:", str(time_seconds))
diff --git a/build/lib/iexcode/instruments/xrays.py b/build/lib/iexcode/instruments/xrays.py
index 0e6b7bdcc8ab1f42dfa5d2b00b3fb529de853984..bd972006e2ed97262b74c8b1115967b93efbb3bb 100644
--- a/build/lib/iexcode/instruments/xrays.py
+++ b/build/lib/iexcode/instruments/xrays.py
@@ -242,7 +242,6 @@ def energy(hv_eV,slit_coeff=1,m3r=True,verbose=True):
         message_string = '\n closest allowed energy is '+str(_energy_range_check(hv_eV))
         print_warning_message(message_string)
 
-    print(hv_eV)
     ID_energy_set_eV(hv_eV,verbose=verbose)
     mono_energy_set(hv_eV,verbose=verbose)
     apertures_set(c_2B=slit_coeff,c_1A=1,verbose=verbose)
@@ -466,11 +465,11 @@ def scanXAS(start_stop_step_lists,ID_eV=None,ID_tracking=False, **kwargs):
     
     #Setting up the ScanRecord for Mono and ID in Table mode
     mono_array,ID_array = BL_energy_tables(start_stop_step_lists,**kwargs)
-    kwargs.update('positioner_num',1)
-    mono_scan_table(iex.BL.mda,scan_dim,mono_array,execute=False)
+    kwargs.update({'positioner_num':1})
+    mono_scan_table(mono_array,execute=False)
     if ID_tracking == True:
-        kwargs.update('positioner_num',2)
-        ID_scan_fillin_table(iex.BL.mda,scan_dim,ID_array,**kwargs)
+        kwargs.update({'positioner_num':2})
+        ID_scan_fillin_table(ID_array,**kwargs)
         energy(ID_array[0],m3r=kwargs["m3r"])
     elif ID_eV != None:
         #Setting the beamline energy
@@ -517,7 +516,7 @@ def BL_energy_tables(start_stop_step_lists,**kwargs):
     ID_array=np.array([])
     ID_mode,ID_QP_ratio,ID_sp,ID_rbv,hv,grt = energy_get_all(verbose=False)
     for hv_eV in mono_array:
-        ID_array=np.append(ID_array,ID_calc_eV(grt,ID_mode,hv_eV))
+        ID_array=np.append(ID_array,ID_calc_eV(grt,ID_mode,hv_eV,kwargs['QP_ratio']))
     return mono_array,ID_array
 
 
diff --git a/iexcode/instruments/Octupole.py b/iexcode/instruments/Octupole.py
index c2c8f805797eac69525d34ff68a3e4ff44375a2f..4d5b2a5218891f7058b59e13dac0a1011279f546 100644
--- a/iexcode/instruments/Octupole.py
+++ b/iexcode/instruments/Octupole.py
@@ -74,9 +74,15 @@ def Octupole_init(*userName,**kwargs):
                 user_name = userName[0]
         print(user_name)
         folders_Octupole(user_name,**kwargs)
+
+    else:
+        user_name = iex.BL.mda.user_name()
     
+    ## JM fix here
+    user_name='Freeland'
+
     #update for default scanRecord advanced parameters
-    iex.BL.mda.log('Octupole',user_name,_Octupole_dictionary)
+    #iex.BL.mda.log('Octupole',user_name,_Octupole_dictionary)
 
     #global detectors
     mesh = SRS("29ide:scaler1.S2", '29idd:A4')
@@ -85,7 +91,7 @@ def Octupole_init(*userName,**kwargs):
     kbv = SRS("29ide:scaler1.S8", '29ide:SR570_3:')
     tey = SRS("29ide:scaler1.S3", '29ide:SR570_4:')
     tfy = Scaler("29ide:scaler1.S4")
-    pd = SRS("29idMZ0:scaler1.S5", '29ide:SR570_5:')
+    pd = SRS("29ide:scaler1.S5", '29ide:SR570_5:')
     
     
     #resetting everything
@@ -129,7 +135,7 @@ def _Octupole_detector_dictionary(**kwargs):
         17:"",
     }
     sample_temp={
-        23:"29idd:LS340_1:TC1:SampleA",
+        23:"29ide:LS340:LS340_1:Control",
     }
     m3r={
         25:"29id_ps6:Stats1:CentroidX_RBV",
@@ -142,10 +148,10 @@ def _Octupole_detector_dictionary(**kwargs):
         33:"29ide:scaler1.S4",
         34:"29ide:scaler1.S5",
         35:"29ide:scaler1.S6",
-        36:"29ide:scaler1_calc1.B",
-        37:"29ide:scaler1_calc1.C",
-        38:"29ide:scaler1_calc1.D",
-        39:"29ide:scaler1_calc1.E",
+        36:"29ide:scaler1_calc3.VAL",
+        37:"29ide:scaler1_calc4.VAL",
+        38:"29ide:scaler1_calc5.VAL",
+        39:"29ide:scaler1_calc6.VAL",
         40:"29ide:scaler1.S7",
         41:"29ide:scaler1.S8",
     }
@@ -196,7 +202,7 @@ def Octupole_extra_pvs():
 
     """
     d={
-        "TA":"29idd:LS340_1:TC1:Control",      
+        "TA":"29ide:LS340:LS340_1:Control",      
     }
     return d
 
diff --git a/iexcode/instruments/VLS_PGM.py b/iexcode/instruments/VLS_PGM.py
index 6dffc780bd41acfaa9cdbec6db16157fa51082de..ff754e5190d8670fcc20a532bfd5dd6f510cfd7a 100644
--- a/iexcode/instruments/VLS_PGM.py
+++ b/iexcode/instruments/VLS_PGM.py
@@ -9,7 +9,7 @@ import numpy as np
 from epics import caget,caput
 from iexcode.instruments.IEX_BL_config import *
 from iexcode.instruments.utilities import print_warning_message,read_dict
-
+from iexcode.instruments.scanRecord import *
 
 ##############################################################################################################
 ################################             mono             ##############################
@@ -543,7 +543,7 @@ def mono_scan_table(hv_array,**kwargs):
 
     #Setting up the ScanRecord for Mono in Table mode
     val_pv, rbv_pv = mono_scan_pvs()
-    iex.BL.mda.fillin.table(val_pv,rbv_pv,hv_array,**kwargs)
+    scan_fillin_table(val_pv,rbv_pv,hv_array,**kwargs)
 
     #mono needs to stay and have a longer settling time
     iex.BL.mda.positioner_settling_time(kwargs['positioner_settling_time'])
@@ -555,7 +555,7 @@ def mono_scan_after(**kwargs):
     """
     after_scan_pv = iex.BL.mda.default_after_scan_seq
     caput(after_scan_pv+".PROC",1)
-    iex.BL.mda.positioner_after_scan("PRIOR POS")
+    iex.BL.mda.positioner_after_scan("PRIOR POS",kwargs)
 
 
 ##############################################################################################################
diff --git a/iexcode/instruments/electron_analyzer.py b/iexcode/instruments/electron_analyzer.py
index 52fd4ffb375fac9030c1818b10b11f30b422387e..6c192f8a52bc64369e15db713f97f4fd8b8c93d2 100644
--- a/iexcode/instruments/electron_analyzer.py
+++ b/iexcode/instruments/electron_analyzer.py
@@ -327,7 +327,7 @@ def scanEA(EAlist,**kwargs):
         
     """
 
-    kwargs.setdefault('scanIOC',iex.BL.ioc())
+    kwargs.setdefault('scanIOC',iex.BL.ioc)
     kwargs.setdefault('scan_dim',1)
     kwargs.setdefault('execute',True)
     kwargs.setdefault("debug",False)
diff --git a/iexcode/instruments/scalers.py b/iexcode/instruments/scalers.py
index df39f3910ee1aacd5680b1491f32152a673ae1da..705710f3bce187e746b4e09743c83870d4b1512b 100644
--- a/iexcode/instruments/scalers.py
+++ b/iexcode/instruments/scalers.py
@@ -38,9 +38,9 @@ def Octupole_scaler(time_seconds,verbose):
     Sets the integration time for the scalers in the Kappa chamber
     and mpa filter num if mpa is running
     """
-    scaler_pv="29ideMZ0:scaler1.TP"
+    scaler_pv="29ide:scaler1.TP" #JM fix here
     
-    caput(pv,time_seconds)
+    caput(scaler_pv,time_seconds)
 
     if verbose: 
         print("Integration time set to:", str(time_seconds))
diff --git a/iexcode/instruments/xrays.py b/iexcode/instruments/xrays.py
index f34ee53db6bd651b272e58148ade26c2e3318e74..bd972006e2ed97262b74c8b1115967b93efbb3bb 100644
--- a/iexcode/instruments/xrays.py
+++ b/iexcode/instruments/xrays.py
@@ -465,11 +465,11 @@ def scanXAS(start_stop_step_lists,ID_eV=None,ID_tracking=False, **kwargs):
     
     #Setting up the ScanRecord for Mono and ID in Table mode
     mono_array,ID_array = BL_energy_tables(start_stop_step_lists,**kwargs)
-    kwargs.update('positioner_num',1)
-    mono_scan_table(iex.BL.mda,scan_dim,mono_array,execute=False)
+    kwargs.update({'positioner_num':1})
+    mono_scan_table(mono_array,execute=False)
     if ID_tracking == True:
-        kwargs.update('positioner_num',2)
-        ID_scan_fillin_table(iex.BL.mda,scan_dim,ID_array,**kwargs)
+        kwargs.update({'positioner_num':2})
+        ID_scan_fillin_table(ID_array,**kwargs)
         energy(ID_array[0],m3r=kwargs["m3r"])
     elif ID_eV != None:
         #Setting the beamline energy
@@ -516,7 +516,7 @@ def BL_energy_tables(start_stop_step_lists,**kwargs):
     ID_array=np.array([])
     ID_mode,ID_QP_ratio,ID_sp,ID_rbv,hv,grt = energy_get_all(verbose=False)
     for hv_eV in mono_array:
-        ID_array=np.append(ID_array,ID_calc_eV(grt,ID_mode,hv_eV))
+        ID_array=np.append(ID_array,ID_calc_eV(grt,ID_mode,hv_eV,kwargs['QP_ratio']))
     return mono_array,ID_array