diff --git a/build/lib/iexcode/instruments/ARPES.py b/build/lib/iexcode/instruments/ARPES.py
index 4081b1b285a4b10f979e97ec2a364a8d7f717ab8..cd06154eeb475ab96f64c77a8d9384c1115d1f28 100644
--- a/build/lib/iexcode/instruments/ARPES.py
+++ b/build/lib/iexcode/instruments/ARPES.py
@@ -431,7 +431,7 @@ def _ARPES_scan_after_sequence(**kwargs):
     return after_scan_proc
 
 
-def _ARPES_detector_triggers_sequence(**kwargs):    # do we need to add 29idb:ca5 ???
+def _ARPES_detector_triggers_sequence(**kwargs):   
     """
     """
     kwargs.setdefault('seq_num',8)
diff --git a/build/lib/iexcode/instruments/IEX_VPU.py b/build/lib/iexcode/instruments/IEX_VPU.py
index dabfbe9f66143f979c3e9d2ca7f5839697c6f05b..9167afd669a969c8aa89dcc8c43a1af21e4c44d8 100644
--- a/build/lib/iexcode/instruments/IEX_VPU.py
+++ b/build/lib/iexcode/instruments/IEX_VPU.py
@@ -338,15 +338,6 @@ def _ID_write_SP_proc(keV):
     sleep(1)
 
 
-def _ID_bw_ok(keV):
-    ID_SP = ID_get_sp(verbose=False)
-    ID_bw = ID_SP * 0.095
-    ID_diff = abs(ID_get()-keV)
-    if ID_diff > ID_bw:
-        return False
-    else:
-        return True
-
 def ID_set(keV,verbose=True):
     """
     "Sets the ID set point to a specific value (hv(eV)) which will not likely be optimum"
@@ -380,16 +371,16 @@ def ID_set(keV,verbose=True):
             ID_ready(verbose=False)
 
             #check if ID within some bandwidth
-            if _ID_bw_ok(keV):
-                if verbose:
-                    ID_SP = ID_get_sp(verbose=False)
-                    ID_RBV = ID_get()
-                    print("ID SET : "+"%.1f" % ID_SP, "eV")
-                    print("ID RBV : "+"%.1f" % ID_RBV, "eV")
-                    print(caget(ID_pvs()['table_dir'],as_string=True))
-            else:
-                print_warning_message("ID not within energy bandwidth")
-                ID_QP_ratio_get(verbose)
+            # if _ID_bw_ok(keV):
+            #     if verbose:
+            #         ID_SP = ID_get_sp(verbose=False)
+            #         ID_RBV = ID_get()
+            #         print("ID SET : "+"%.1f" % ID_SP, "eV")
+            #         print("ID RBV : "+"%.1f" % ID_RBV, "eV")
+            #         print(caget(ID_pvs()['table_dir'],as_string=True))
+            # else:
+            #     print_warning_message("ID not within energy bandwidth")
+            #     ID_QP_ratio_get(verbose)
 
 def ID_energy_set(keV,verbose=True):
     """
@@ -546,7 +537,7 @@ def ID_scan_fillin(mda,scan_dim,start,stop,step,**kwargs):
     **kwargs => scanRecord.fillin kwargs
     """
     #Setting up the ScanRecord for ID in Table mode
-    val_pv, rbv_pv = ID_scan_pvs()
+    rbv_pv, val_pv  = ID_scan_pvs()
     iex.BL.mda.fillin(scan_dim,rbv_pv,val_pv,start,stop,step,**kwargs)
 
 
diff --git a/build/lib/iexcode/instruments/xrays.py b/build/lib/iexcode/instruments/xrays.py
index 924b86a7f5442155ed7e6a88b8405e88d30e704c..b809f10615ba9d82484be496c75de22af567b504 100644
--- a/build/lib/iexcode/instruments/xrays.py
+++ b/build/lib/iexcode/instruments/xrays.py
@@ -22,6 +22,9 @@ from iexcode.instruments.VLS_PGM import *
 
 mpa = iex.mpa
 
+def safe_state():
+    iex.BL.safe_state()
+
 ##############################################################################################################
 ##############################            resets and detector lists         ##############################
 ##############################################################################################################
diff --git a/iexcode/instruments/ARPES.py b/iexcode/instruments/ARPES.py
index 4081b1b285a4b10f979e97ec2a364a8d7f717ab8..cd06154eeb475ab96f64c77a8d9384c1115d1f28 100644
--- a/iexcode/instruments/ARPES.py
+++ b/iexcode/instruments/ARPES.py
@@ -431,7 +431,7 @@ def _ARPES_scan_after_sequence(**kwargs):
     return after_scan_proc
 
 
-def _ARPES_detector_triggers_sequence(**kwargs):    # do we need to add 29idb:ca5 ???
+def _ARPES_detector_triggers_sequence(**kwargs):   
     """
     """
     kwargs.setdefault('seq_num',8)
diff --git a/iexcode/instruments/IEX_VPU.py b/iexcode/instruments/IEX_VPU.py
index 5813a28b4551bbd6400b8cf72f727c158de0d7bc..5805dbe6805cb6adbb6064e8896d5e4dcefe10dc 100644
--- a/iexcode/instruments/IEX_VPU.py
+++ b/iexcode/instruments/IEX_VPU.py
@@ -33,7 +33,8 @@ def ID_pvs():
         'start_ramp':pv+'StartRamp.VAL',
         'energy_eV_rbv':pv+'EnergyRBV',
         'energy_eV_sp':pv+'EnergyScanSeteV',
-        'scan_val':pv+'EnergyScanSeteV',
+        'scan_val':pv+'EnergyScanSet',
+        'scan_val_eV':pv+'EnergyScanSeteV',
         'table_dir':pv+'TableDirection',
         'By_q':pv+'ByqRdbk',
         'Bx_q':pv+'BxqRdbk',
@@ -334,7 +335,8 @@ def _ID_write_SP_proc(keV):
     # caput(ID_pvs()['energy_sp'],keV,wait=True,timeout=18000)
     # sleep(ramp_delay)
     # caput(ID_pvs()['start_ramp'],1,wait=True,timeout=18000)
-    caput(ID_pvs()['energy_eV_sp'],keV,wait=True,timeout=18000)
+    caput(ID_pvs()['scan_val'],keV,wait=True,timeout=18000)
+    #caput(ID_pvs()['energy_sp'],keV,wait=True,timeout=18000) # just for bookkeeping
     sleep(1)
 
 
@@ -371,16 +373,16 @@ def ID_set(keV,verbose=True):
             ID_ready(verbose=False)
 
             #check if ID within some bandwidth
-            if _ID_bw_ok(keV):
-                if verbose:
-                    ID_SP = ID_get_sp(verbose=False)
-                    ID_RBV = ID_get()
-                    print("ID SET : "+"%.1f" % ID_SP, "eV")
-                    print("ID RBV : "+"%.1f" % ID_RBV, "eV")
-                    print(caget(ID_pvs()['table_dir'],as_string=True))
-            else:
-                print_warning_message("ID not within energy bandwidth")
-                ID_QP_ratio_get(verbose)
+            # if _ID_bw_ok(keV):
+            #     if verbose:
+            #         ID_SP = ID_get_sp(verbose=False)
+            #         ID_RBV = ID_get()
+            #         print("ID SET : "+"%.1f" % ID_SP, "eV")
+            #         print("ID RBV : "+"%.1f" % ID_RBV, "eV")
+            #         print(caget(ID_pvs()['table_dir'],as_string=True))
+            # else:
+            #     print_warning_message("ID not within energy bandwidth")
+            #     ID_QP_ratio_get(verbose)
 
 def ID_energy_set(keV,verbose=True):
     """
@@ -526,7 +528,7 @@ def ID_scan_pvs():
     """ 
     returns the rbv and val for scanning 
     """
-    val_pv=ID_pvs()['scan_val']
+    val_pv=ID_pvs()['scan_val_eV']
     rbv_pv=""
     return rbv_pv, val_pv
 
@@ -537,7 +539,7 @@ def ID_scan_fillin(mda,scan_dim,start,stop,step,**kwargs):
     **kwargs => scanRecord.fillin kwargs
     """
     #Setting up the ScanRecord for ID in Table mode
-    val_pv, rbv_pv = ID_scan_pvs()
+    rbv_pv, val_pv  = ID_scan_pvs()
     iex.BL.mda.fillin(scan_dim,rbv_pv,val_pv,start,stop,step,**kwargs)
 
 
diff --git a/iexcode/instruments/xrays.py b/iexcode/instruments/xrays.py
index 924b86a7f5442155ed7e6a88b8405e88d30e704c..b809f10615ba9d82484be496c75de22af567b504 100644
--- a/iexcode/instruments/xrays.py
+++ b/iexcode/instruments/xrays.py
@@ -22,6 +22,9 @@ from iexcode.instruments.VLS_PGM import *
 
 mpa = iex.mpa
 
+def safe_state():
+    iex.BL.safe_state()
+
 ##############################################################################################################
 ##############################            resets and detector lists         ##############################
 ##############################################################################################################