diff --git a/build/lib/iexcode/instruments/ARPES.py b/build/lib/iexcode/instruments/ARPES.py
index debe940c10e2ea72a044db5b460e4f0cbb423e62..4081b1b285a4b10f979e97ec2a364a8d7f717ab8 100644
--- a/build/lib/iexcode/instruments/ARPES.py
+++ b/build/lib/iexcode/instruments/ARPES.py
@@ -11,7 +11,7 @@ from iexcode.instruments.IEX_cameras import _enable_endstation_cameras
 from iexcode.instruments.files_and_folders import check_run,make_user_folders,folder_mda,path_dserv
 from iexcode.instruments.Logfile import Logfile
 from iexcode.instruments.staff import staff_detector_dictionary
-from iexcode.instruments.xrays import _xrays_detector_dictionary, _xrays_reset, xrays_get_all
+from iexcode.instruments.xrays import _xrays_detector_dictionary, _xrays_reset, xrays_get_all, xrays_log_dictionary
 
 from iexcode.instruments.conversions_constants import *
 from iexcode.instruments.utilities import *
@@ -40,7 +40,7 @@ def ARPES_init(*userName,**kwargs):
 
         **kwargs:
             set_folders: sets the mda and EA folders (default => True)  
-            reset: to reset the detectors in the IOC, etc (default => True)  
+            reset: to reset the detectors in the IOC, sets the logfile name, etc (default => False)  
             xrays: sets global variable and detectors for x-ray (default => True) 
             mode: used sets the detectors 'user ' / 'staff' (default => 'user' )  
     """
@@ -48,7 +48,7 @@ def ARPES_init(*userName,**kwargs):
     kwargs.setdefault('xrays',True)
     kwargs.setdefault('mode','user')
     kwargs.setdefault('set_folders',True)
-    kwargs.setdefault('reset',True)
+    kwargs.setdefault('reset',False)
 
     #motors
     physical_motors = ['x','y','z','th','chi','phi']
@@ -76,7 +76,7 @@ def ARPES_init(*userName,**kwargs):
         user_name = iex.BL.mda.user_name()
 
     #update for default scanRecord advanced parameters
-    iex.BL.mda.log=Logfile('ARPES',user_name,_ARPES_log_dictionary)
+    iex.BL.mda.log=Logfile('ARPES',user_name,_ARPES_log_dictionary,set_file=False)
 
     #EA
     if EA.connected: 
@@ -103,6 +103,8 @@ def ARPES_init(*userName,**kwargs):
     _enable_endstation_cameras()
     
     print ('\nARPES initalized')
+    print('\tpath = "'+iex.BL.mda.filepath()+'"')
+    print('\tprefix = "'+iex.BL.mda.prefix()+'"')
     #return any detectors or other parameters that you want access to from jupyter
     return tey,ca15
 
@@ -258,6 +260,9 @@ def ARPES_reset():
     print("resetting ARPES Lakeshore")
     Lakeshore_reset(pv,LS_355_defaults)
 
+    #set the logfile name
+    iex.BL.mda.log.name_set()
+
 ##############################################################################################################
 ##############################                    get all                 ##############################
 ##############################################################################################################
@@ -329,6 +334,9 @@ def _ARPES_log_dictionary():
         "tey2":(caget(ARPES_extra_pvs()['tey2']),"1.2e")
         }
 
+    if iex.BL.xrays == True:
+        d.update(xrays_log_dictionary())
+
     return d
 
 ##############################################################################################################
@@ -553,8 +561,9 @@ def ARPES_transfer(chi=0,phi=0,**kwargs):
     """
     Moves the ARPES manipulator to the default transfer position
     kwargs:
-        EA_HV_Off=True; Turns off the EA HV
-        Close_CBranch=True;  closes the C-shutter and the C-valve (main chamber to BL)
+        EA_off = True (default); Turns off the EA HV
+        shutter_close = True (default);  closes the C-shutter and the C-valve (main chamber to BL)
+        valve_close = True (default)
     """
     _ARPESgo2("transfer",**kwargs)
 
@@ -562,8 +571,14 @@ def ARPES_measure(**kwargs):
     """
     Moves to ARPES motors x,y,z,th to the default measurement position
     kwargs
-        chi=None # specify a value to move chi
-        phi=None # specifiy a value to move phi
+
+    kwargs:
+        EA_off = True (default); Turns off the EA HV
+        shutter_close = True (default);  closes the C-shutter and the C-valve (main chamber to BL)
+        valve_close = True (default)
+        
+        chi = None (default, no change); specify a value to move chi
+        phi=None (default, no change;  specifiy a value to move phi
     """
     _ARPESgo2("measure",**kwargs)
 
@@ -571,11 +586,12 @@ def ARPES_LEED(**kwargs):
     """
     Moves to ARPES motors x,y,z,th to the default LEED position
     kwargs:
-        EA_HV_Off=True; Turns off the EA HV
-        Close_CBranch=True;  closes the C-shutter and the C-valve (main chamber to BL)
+        EA_off = True (default); Turns off the EA HV
+        shutter_close = True (default);  closes the C-shutter and the C-valve (main chamber to BL)
+        valve_close = True (default)
         
-        chi=None # specify a value to move chi
-        phi=None # specifiy a value to move phi
+        chi = None (default, no change); specify a value to move chi
+        phi=None (default, no change;  specifiy a value to move phi
     """
     _ARPESgo2("LEED",**kwargs)    
 ####################################################################################################
diff --git a/build/lib/iexcode/instruments/IEX_VPU.py b/build/lib/iexcode/instruments/IEX_VPU.py
index c30f5af77b10f126ecb14e533c8f9b8e181963f5..16b2b26a135320671e49ca21b33693a74b13c20d 100644
--- a/build/lib/iexcode/instruments/IEX_VPU.py
+++ b/build/lib/iexcode/instruments/IEX_VPU.py
@@ -5,6 +5,7 @@ import numpy.polynomial.polynomial as poly
 
 from epics import caget, caput
 
+import iexcode.instruments.cfg as iex
 from iexcode.instruments.userCalcs import userCalcOut_clear
 from iexcode.instruments.utilities import dateandtime, print_warning_message, read_dict
 from iexcode.instruments.VLS_PGM import mono_grating_get
@@ -31,9 +32,9 @@ def ID_pvs():
         'energy_sp':pv+'EnergySet.VAL',
         'start_ramp':pv+'StartRamp.VAL',
         'energy_eV_rbv':pv+'EnergyRBV',
-        'energy_eV_sp':pv+'EnergyScanSet.VAL',
-        'scan_eV_rbv':pv+'EnergyScanSeteV',
-        'scan_eV_val':pv+'EnergySetRBV',
+        'energy_eV_sp':pv+'EnergyScanSeteV.VAL',
+        'scan_val':pv+'EnergyScanSeteV.VAL',
+        'scan_rbv':pv+'EnergyRBV',
         'table_dir':pv+'TableDirection',
         'By_q':pv+'ByqRdbk',
         'Bx_q':pv+'BxqRdbk',
@@ -535,8 +536,8 @@ def ID_scan_pvs():
     """ 
     returns the rbv and val for scanning 
     """
-    val_pv=ID_pvs()['scan_eV_val']
-    rbv_pv=ID_pvs()['scan_eV_rbv']
+    val_pv=ID_pvs()['scan_val']
+    rbv_pv=ID_pvs()['scan_rbv']
     return rbv_pv, val_pv
 
 def ID_scan_fillin(mda,scan_dim,start,stop,step,**kwargs):
@@ -547,10 +548,10 @@ def ID_scan_fillin(mda,scan_dim,start,stop,step,**kwargs):
     """
     #Setting up the ScanRecord for ID in Table mode
     val_pv, rbv_pv = ID_scan_pvs()
-    mda.fillin(scan_dim,rbv_pv,val_pv,start,stop,step,**kwargs)
+    iex.BL.mda.fillin(scan_dim,rbv_pv,val_pv,start,stop,step,**kwargs)
 
 
-def ID_scan_fillin_table(mda,scan_dim,ID_array,**kwargs):
+def ID_scan_fillin_table(ID_array,**kwargs):
     """
     fills in the scanRecord for scanning the ID set point
 
@@ -558,7 +559,7 @@ def ID_scan_fillin_table(mda,scan_dim,ID_array,**kwargs):
     """
     #Setting up the ScanRecord for ID in Table mode
     rbv_pv, val_pv = ID_scan_pvs()
-    mda.fillin.table(scan_dim,rbv_pv,val_pv,ID_array,**kwargs)
+    iex.BL.mda.fillin_table(rbv_pv,val_pv,ID_array,**kwargs)
 
 ##############################################################################################################
 ##############################             ID direction table        ##############################
diff --git a/build/lib/iexcode/instruments/VLS_PGM.py b/build/lib/iexcode/instruments/VLS_PGM.py
index ff754e5190d8670fcc20a532bfd5dd6f510cfd7a..095ac21879db6c91ab89c2ac39bf9d7fd684420a 100644
--- a/build/lib/iexcode/instruments/VLS_PGM.py
+++ b/build/lib/iexcode/instruments/VLS_PGM.py
@@ -7,6 +7,8 @@ import numpy as np
 
 
 from epics import caget,caput
+
+import iexcode.instruments.cfg as iex
 from iexcode.instruments.IEX_BL_config import *
 from iexcode.instruments.utilities import print_warning_message,read_dict
 from iexcode.instruments.scanRecord import *
@@ -546,16 +548,16 @@ def mono_scan_table(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'])
+    iex.BL.mda.positioner_settling_time(**kwargs)
     iex.BL.mda.positioner_after_scan("STAY")
 
 def mono_scan_after(**kwargs):
     """
     resets mda after scanning the mono
     """
-    after_scan_pv = iex.BL.mda.default_after_scan_seq
+    after_scan_pv = iex.BL.mda.default_after_scan_seq()
     caput(after_scan_pv+".PROC",1)
-    iex.BL.mda.positioner_after_scan("PRIOR POS",kwargs)
+    iex.BL.mda.positioner_after_scan("PRIOR POS",**kwargs)
 
 
 ##############################################################################################################
diff --git a/build/lib/iexcode/instruments/cameras.py b/build/lib/iexcode/instruments/cameras.py
deleted file mode 100644
index 977490ced8d54c937769a98757e361a724faf9c6..0000000000000000000000000000000000000000
--- a/build/lib/iexcode/instruments/cameras.py
+++ /dev/null
@@ -1,126 +0,0 @@
-
-import time 
-from epics import caget,caput,PV
-
-import iexcode.instruments.cfg as iex
-from iexcode.instruments.AD_utilities import *
-
-##############################################################################################################
-##############################              Camera PV dictionary            ##############################
-##############################################################################################################
-
-def _pv_dictionary():
-    """
-    dictionary of pv names for the beamline cameras
-    """
-    d={
-        1:"29id_ps1:",
-        2:"29id_ps2:",
-        3:"29id_ps3:",
-        4:"29id_ps4:",
-        5:"29idarv5:",
-        6:"29id_ps6:",
-        7:"29id_ps7:",
-    }
-    return d
-
-##############################################################################################################
-##############################             Endstation Cameras           ##############################
-##############################################################################################################
-   
-def _enable_endstation_cameras(unused_off=True):
-    """
-    Turns on cameras related to a given endstation if they are connected
-    unused_off=True turns off other cameras
-
-    """
-    endstation=iex.BL.endstation_name
-
-    #For new endstation modify here:
-    cam_dict={'ARPES':[0,1,2],'Kappa':[3,4,6]}  # index of cam_list 
-
-    d=_pv_dictionary()
-    for num in d.keys(): 
-        pv=d[num]+"cam1:Acquire"   
-        #camera in list
-        if num in cam_dict[endstation]:
-            #two connected to deal with network traffic
-            PV(pv).connected
-            time.sleep(0.1)
-            if PV(pv).connected:  
-                caput(pv,'Acquire')
-            else:
-                print(d[num]+" ioc in not running")
-        #camera not in list
-        else:
-            if unused_off:
-                if PV(pv).connected:  
-                    caput(pv,'Done')
-
-
-##############################################################################################################
-##############################             Camera Snapping an image         ##############################
-##############################################################################################################
-
-def cam_snap(cam_num,ADtype='TIFF',**kwargs):
-    """
-    takes a camera image and saves it in the user folder
-    
-    **kwargs:
-    ExposureTime: changes both the exposure time and the acquire time for the snapshot
-                    resets after acquisition
-    FreeRun: True => disable setting and go back to continuous acquision 
-                False => leave saving enabled and camera in single acquision
-
-    """
-    ADplugin = _pv_dictionary()[cam_num]+ADtype+"1:"
-    AD_snap(ADplugin,**kwargs)
-
-
-
-
-##############################################################################################################
-##############################             Scanning with a camera           ##############################
-##############################################################################################################
-def cam_scan_setup(cam_num,ADtype='TIFF',**kwargs):
-    """
-    sets up the BL scanRecord for scanning at every point
-    **kwargs
-        scanDIM = 1
-        detTrig = 2; detectorTrigger number
-        
-        # AD_SaveFileSetup
-        filepath=userpath (from BL_ioc scanRecord)+"/dtype"
-         (e.g. filepath="/net/s29data/export/data_29id"+folder+"/"+run+"/"+userName+"/"+df)
-        dtype = taken from ADplugin
-        FileTemplate="%s%s_%4.4d."+dtype; format for filename first %s = filepath, second %s = prefix
-        prefix = dtype by default
-    """
-    ADplugin = _pv_dictionary()[cam_num]+ADtype+"1:"
-    ADplugin_ScanSetup(ADplugin,iex.BL.mda, **kwargs)  
-
-def cam_live(cam_num):
-    """
-    puts camera in no save and continuous
-    a.k.a free run
-
-    """
-    ADplugin = _pv_dictionary()[cam_num]
-    AD_FreeRun(ADplugin)
-
-def cam_done(cam_num,**kwargs):
-    """
-    stops camera acquisition (not will stop after current acquisition)
-    """
-    ADplugin = _pv_dictionary()[cam_num]
-    AD_Done(ADplugin,**kwargs)
-
-def cam_save_setup(cam_num,ADtype='TIFF',**kwargs):
-    """
-    sets up the save paths using iex.BL.mda.current_user
-    **kwargs 
-        prefix: beginning of filename
-    """
-    ADplugin = _pv_dictionary()[cam_num]+ADtype+"1:"
-    AD_SaveFileSetup(ADplugin,**kwargs)
-
diff --git a/build/lib/iexcode/instruments/current_amplifiers.py b/build/lib/iexcode/instruments/current_amplifiers.py
index 7488c520bc4fee881fb27fa4dbdc20f342a3a116..47327a8acac2ee40b338b0da252ab2cb8c0f729e 100644
--- a/build/lib/iexcode/instruments/current_amplifiers.py
+++ b/build/lib/iexcode/instruments/current_amplifiers.py
@@ -2,6 +2,8 @@ import numpy as np
 from time import sleep
 
 from epics import caget, caput
+
+import iexcode.instruments.cfg as iex
 from iexcode.instruments.userCalcs import userStringSeq_pvs, userStringSeq_clear
 from iexcode.instruments.VLS_PGM import mono_energy_get
 
@@ -11,7 +13,7 @@ def ca_detector_list(branch):
     returns the list of keithley current amplifiers based on key
     key: 'ARPES' / 'Staff'
     """
-    ca_list = list(_ca_dictionary()[branch].keys())
+    ca_list = iex.ca_list
     
     return ca_list
 
@@ -242,16 +244,21 @@ def _ca_live_sequence(ioc,seq_num,detector_list):
 
     return userStringSeq_proc
 
-def ca_average(avg_pts,ca_list,rate="Slow",verbose=True):
+def ca_average(avg_pts,**kwargs):
     """
     Average reading of the relevant current amplifiers for the current scanIOC/branch.
+    ** kwargs:
 
     Previously: CA_average
     """
-    print("\nAverage set to:   "+str(max(avg_pts,1)))
+    kwargs.setdefault('ca_list',ca_detector_list(iex.BL.branch)),
+    kwargs.setdefault('rate',"Slow")
+    kwargs.setdefault('verbose',True)
+    ca_list = kwargs['ca_list']
+    
     for i in range(0,len(ca_list)):
         ca = Keithley(ca_list[i][0],ca_list[i][1])
-        ca.avg(avg_pts,rate=rate,verbose=verbose)
+        ca.avg(avg_pts,rate=kwargs['rate'],verbose=kwargs['verbose'])
 
 
 def _load_responsivity_curve():
diff --git a/build/lib/iexcode/instruments/diagnostics.py b/build/lib/iexcode/instruments/diagnostics.py
index 1c970b7138b4c2713937a20d2bc5ef2b01568ece..d021dc45f4cb4e471fc0b356c32014d204a20db1 100644
--- a/build/lib/iexcode/instruments/diagnostics.py
+++ b/build/lib/iexcode/instruments/diagnostics.py
@@ -9,19 +9,19 @@ from iexcode.instruments.utilities import print_warning_message
 ################################            default positions             ##############################
 ##############################################################################################################
 #For new endstation modify here:
-def _diagnostics_presets():
+def diagnostics_presets():
     presets={
-        'H-wire':['OUT','Start'],
-        'V-wire':['OUT','Start'],
-        'H-Diagon':['OUT','Si-2800','ML-400','ML-460'],
-        'V-Diagon':['OUT','Si-2800','ML-400','ML-460'],
-        'D1A':['OUT','Mesh'],
-        'D2B':['OUT','Mesh','YAG'],
-        'D3B':['OUT','YAG'],
-        'D4C':['OUT','Mesh','YAG'],
-        'gas-cell':['OUT','Diode1','Diode2'],
-        'D4D':['OUT','Mesh','YAG'],
-        'D5D':['OUT','Mesh','YAG','Diode'],
+        'H-wire':(['OUT','Start'],'29id:m1'),
+        'V-wire':(['OUT','Start'],'29id:m2'),
+        'H-Diagon':(['OUT','Si-2800','ML-400','ML-460'],'29id:m3'),
+        'V-Diagon':(['OUT','Si-2800','ML-400','ML-460'],'29id:m4'),
+        'D1A':(['OUT','Mesh'],'29id:m5'),
+        'D2B':(['OUT','Mesh','YAG'],'29id:m6'),
+        'D3B':(['OUT','YAG'],'29id:m7'),
+        'D4C':(['OUT','Mesh','YAG'],'29id:m17'),
+        'gas-cell':(['OUT','Diode1','Diode2'],'29id:m20'),
+        'D4D':(['OUT','Mesh','YAG'],'29id:m25'),
+        'D5D':(['OUT','Mesh','YAG','Diode'],'29id:m6')
     }
     return presets
 
@@ -46,6 +46,7 @@ def _diagnostic_read_dict():
     read_dict={
         'diode_c':Keithley('b',15),
         'mesh_d':SRS("29idMZ0:scaler1.S14", '29idd:A4'),
+        'diode_d':Keithley('b',14),
     }
     return read_dict
 
@@ -57,19 +58,19 @@ def _diagnostics_preset_pv(diag_name,preset_name):
     dictionary of the motor pvs for the beamline diagnostics
     """
     ioc = '29idb:'
-    d = _diagnostics_presets()
+    d = diagnostics_presets()
     pv=None
     
     if diag_name.casefold() in (key.casefold() for key in list(d.keys())):
         idx = [item.lower() for item in list(d.keys())].index(diag_name.lower())
         diag_name=list(d.keys())[idx]
-        if preset_name.casefold() in (preset.casefold() for preset in d[diag_name]):
-            idx = [item.lower() for item in d[diag_name]].index(preset_name.lower())
-            preset_name = d[diag_name][idx]
+        if preset_name.casefold() in (preset.casefold() for preset in d[diag_name][0]):
+            idx = [item.lower() for item in d[diag_name][0]].index(preset_name.lower())
+            preset_name = d[diag_name][0][idx]
             pv = ioc+diag_name+'_'+preset_name
         else:
             message ='preset_name = '+preset_name+' not a valid name'
-            message +='\npreset_names:'+str(d[diag_name])
+            message +='\npreset_names:'+str(d[diag_name][0])
             print_warning_message(message)
     
     else:
@@ -111,8 +112,8 @@ def diagnostic(name,in_out):
     use 
     """
     '''
-    Inserts/retracts a diagnostic(motor number or name) either = "In" or "Out"
-    
+    Inserts/retracts a diagnostic either = "In" or "Out"
+        => diagnostic_name_list: to list diagnostics
     '''
     d_quick = _diagnostics_inout_dict()
     if name in d_quick.keys():
@@ -125,7 +126,7 @@ def diagnostic(name,in_out):
         print("\n"+name+": "+ in_out)
     else:
         message = 'name = '+name+' is not a valid diagnostic name'
-        message +='\n valid names are '+str(diagnostics_list_all(verbose=False))
+        message +='\n valid names are '+str(d_quick.keys())
         print_warning_message(message)
 
 def diagnostics_all_out(diode_stay_in=False,mesh_stay_in=False):
@@ -139,7 +140,7 @@ def diagnostics_all_out(diode_stay_in=False,mesh_stay_in=False):
     message = "All diagnostics out"
     d_names = _diagnostics_inout_dict()
 
-    diag_list = list(_diagnostics_presets().keys())
+    diag_list = list(diagnostics_presets().keys())
 
     #if staying remove diag_name from list
     if diode_stay_in:
@@ -266,6 +267,14 @@ def mesh_d_read(verbose=True):
     val = diagnostic_read('mesh_d',verbose)
     return val
 
+def diode_d_read(verbose=True):
+    """
+    reads the current amplifier and returns the value
+    quiet = False to pring
+    """ 
+    val = diagnostic_read('diode_d',verbose)
+    return val
+
 
 ###############################################################################################
 ####################################### FLUX CONVERSION #######################################
diff --git a/build/lib/iexcode/instruments/electron_analyzer.py b/build/lib/iexcode/instruments/electron_analyzer.py
index 393f7a817d102b0816a21a289cb25afb0b1e058f..782174e9f8f828c01db66e3f359db87a47e3b5bb 100644
--- a/build/lib/iexcode/instruments/electron_analyzer.py
+++ b/build/lib/iexcode/instruments/electron_analyzer.py
@@ -166,8 +166,7 @@ def EAlog_update():
     """
     d=EA_log_dictionary()
     try:
-        header_list,data_list,format_list = iex.BL.mda.log.log_entries(d)
-        iex.BL.mda.log.write_entry(data_list,format_list)    
+        log_update(d)  
     except:
         print("EAlog did not write to file, check for errors.")
 
diff --git a/build/lib/iexcode/instruments/scanRecord.py b/build/lib/iexcode/instruments/scanRecord.py
index ef3f17e8c3029a8a2b151d438b0c4dd0d0d932e1..b836c161d9f8a523c882ce0f6bf2afc6cefae57b 100644
--- a/build/lib/iexcode/instruments/scanRecord.py
+++ b/build/lib/iexcode/instruments/scanRecord.py
@@ -84,7 +84,6 @@ def saveData_get_all(ioc_pv):
         return {}
 
 
-
    
     
 ##############################################################################################################
@@ -723,6 +722,7 @@ class ScanRecord:
 
         Previously: Scan_Reset_AfterTable
         """
+        kwargs.setdefault('scan_dim',1)
         #Setting everything back
         scan_pv = self.ioc+"scan"+str(kwargs['scan_dim'])
 
diff --git a/build/lib/iexcode/instruments/xrays.py b/build/lib/iexcode/instruments/xrays.py
index bd972006e2ed97262b74c8b1115967b93efbb3bb..924b86a7f5442155ed7e6a88b8405e88d30e704c 100644
--- a/build/lib/iexcode/instruments/xrays.py
+++ b/build/lib/iexcode/instruments/xrays.py
@@ -9,12 +9,10 @@ from time import sleep
 from epics import caget,caput
 
 import iexcode.instruments.cfg as iex
-from iexcode.instruments.IEX_cameras import _enable_endstation_cameras
 from iexcode.instruments.current_amplifiers import ca_average, ca_detector_list
 from iexcode.instruments.diagnostics import *
 from iexcode.instruments.FMB_mirrors import FMB_mirror_get
 from iexcode.instruments.IEX_VPU import *
-from iexcode.instruments.Logfile import log_update
 from iexcode.instruments.m3r import m3r_align,m3r_branch,m3r_switch_branch,m3r_position_dictionary
 from iexcode.instruments.shutters import *
 from iexcode.instruments.slits import *
@@ -115,7 +113,7 @@ def xrays_get_all(verbose=True):
 
     return vals
 
-def _xrays_log_entries(**kwargs):
+def xrays_log_dictionary(**kwargs):
     """
     Writes CSV file for the MDA scans with the following default parameters:
     FilePath='/home/beams/29IDUSER/Documents/User_Folders/UserName/'
@@ -126,69 +124,18 @@ def _xrays_log_entries(**kwargs):
 
     Previously: scanlog
     """
-    #default parameters
-    kwargs.setdefault('comment','')
-    #global BL
-
-    ioc = iex.BL.ioc
-
-    #scan Num
-    scan = iex.BL.mda.prefix(ioc)+str(iex.BL.mda.fileNum(ioc))
-    entry_list=["scan"]
-    pv_list=[scan]
-    format_list=["s" ]
-    #scan info
-    drive = caget(ioc+"scan1.P1PV")
-    start = caget(ioc+"scan1.P1SP")
-    stop  = caget(ioc+"scan1.P1EP")
-    step  = caget(ioc+"scan1.P1SI")
-    entry_list.append('drive','start','stop' ,'step')
-    pv_list.append(drive,start,stop ,step)
-    format_list.append("s",".3f",".3f",".3f")
-
-    #endstation info
-    if iex.BL.endstation_name == 'ARPES':
-        endstation_entry, endstation_pv, endstation_format = iex.BL.log_entries(**kwargs)
-        entry_list.append(endstation_entry)
-        pv_list.append(endstation_pv)
-        format_list.append(endstation_format)
-    elif iex.BL.endstation_name == 'Kappa':
-        endstation_entry, endstation_pv, endstation_format = iex.BL.log_entries(**kwargs)
-        entry_list.append(endstation_entry[:-7])
-        pv_list.append(endstation_pv[:-7])
-        format_list.append(endstation_format[:-7])
-
-    #beamline info
-    ID_mode = ID_mode_get(verbose=False) if iex.BL.xrays else "no_xrays"
-    ID_QP_ratio = ID_QP_ratio_get(verbose=False)[0] if iex.BL.xrays else "no_xrays"
-    ID_sp  = round(ID_get_sp_eV()) if iex.BL.xrays else 0
-    ID_rbv = round(ID_get_rbv_eV,4) if iex.BL.xrays else 0
-    hv = mono_energy_get() if iex.BL.xrays else 0
-    grt = mono_grating_get() if iex.BL.xrays else 0
-    slit_size = slit_get()[0] if iex.BL.xrays else 0
-    entry_list.append("hv","exit_slit","GRT", "ID_SP", "ID_RBV", "ID_Mode", "ID_QP")
-    pv_list.append(hv,slit_size,grt, ID_sp, ID_rbv,ID_mode, ID_QP_ratio)
-    format_list.append(".2f",".0f","s",".1f",".1f","s", ".0f")
-
-    #endstation info 2: Fanny can I change to order to get rid of this complication?
-    if iex.BL.endstation_name == 'Kappa':
-        endstation_entry, endstation_pv, endstation_format = iex.BL.log_entries(**kwargs)
-        entry_list.append(endstation_entry[-7:])
-        pv_list.append(endstation_pv[-7:])
-        format_list.append(endstation_format[-7:])
-
-    #timestamp and comments
-    t = time.strftime("%D-%H:%M:%S")
-    comment = kwargs["comment"]
-    entry_list.append('time','comment')
-    pv_list.append(t,comment)
-    format_list.append("s","s")
+    d={
+        'ID_mode':(ID_mode_get(verbose=False),"s"),
+        'ID_QP_ratio':(ID_QP_ratio_get(verbose=False)[0],".0f"),
+        'ID_sp':(ID_get_sp_eV(verbose=False),".2f"),
+        'ID_rbv':(ID_get_rbv_eV(verbose=False),".2f"),
+        'mono':(mono_energy_get(),".2f"),
+        'grating':(mono_grating_get(),"s"),
+        'slit_size':(slit_get(verbose=False)[0][0],".0f"),
+    }
+
+    return d
 
-    try:
-        log_update(iex.BL.endstation,iex.BL.ioc,entry_list,pv_list,format_list)
-    except:
-        print("scanlog did not write to file, check for errors.")
-        
 ##############################################################################################################
 ##############################            beamline encoders         ##############################
 ##############################################################################################################
@@ -426,7 +373,7 @@ def scanmono(start,stop,step,average_pnts=1,**kwargs):
     scans the mono at the current ID value
 
     """
-    ca_average(average_pnts,ca_detector_list(iex.BL.branch))
+    ca_average(average_pnts)
 
     mono_scan(start,stop,step,**kwargs)
 
@@ -476,13 +423,13 @@ def scanXAS(start_stop_step_lists,ID_eV=None,ID_tracking=False, **kwargs):
         energy(ID_eV,m3r=kwargs["m3r"])
 
     #Averaging and Normalization
-    ca_average(kwargs['average_pnts'],ca_detector_list(iex.BL.branch))
+    ca_average(kwargs['average_pnts'])
     if iex.BL.branch=="d":
         mesh_d("In")
         print_warning_message('MeshD is not automatically removed')
 
     #mpa
-    if iex.BL.endstation == "Kappa" and kwargs["mcp"]:
+    if iex.BL.endstation_name == "Kappa" and kwargs["mcp"]:
         mpa.HV_on()
 
     #Scanning
@@ -491,11 +438,10 @@ def scanXAS(start_stop_step_lists,ID_eV=None,ID_tracking=False, **kwargs):
         iex.BL.mda.go(scan_dim)
     
         #Setting everything back
-        mono_energy_set(ID_eV)
-        mono_scan_after(iex.BL.mda,scan_dim)
-        iex.BL.mda.table_reset_after(scan_dim)
+        mono_scan_after()
+        iex.BL.mda.table_reset_after()
 
-        if iex.BL.endstation == "Kappa": 
+        if iex.BL.endstation_name == "Kappa": 
             if kwargs["mcp"]: 
                 mpa.HV_off()
             print("WARNING: Mesh"+iex.BL.branch+" is still In")        
@@ -584,7 +530,7 @@ def get_mirrors():
 ##############################################################################################################
 def slit(size,verbose=True):
     """
-    sets the exit slit based on iex.BL.endstation
+    sets the exit slit based on iex.BL.endstation_name
 
         ARPES = 0 < x < 300  um
         Kappa  = 0 < x < 1000 um
@@ -595,7 +541,7 @@ def slit(size,verbose=True):
 
 def slit_get(verbose=True):
     """
-    sets the exit slit based on iex.BL.endstation
+    sets the exit slit based on iex.BL.endstation_name
 
         ARPES = 0 < x < 300  um
         Kappa  = 0 < x < 1000 um
diff --git a/build/lib/iexcode/macros/__init__.py b/build/lib/iexcode/macros/__init__.py
index 22fb71cbe6c4dbf4d150e410132792ad6b62713f..e6ccdb93fcb545fdc3cd980a8d526137d7f192bd 100644
--- a/build/lib/iexcode/macros/__init__.py
+++ b/build/lib/iexcode/macros/__init__.py
@@ -1,17 +1,42 @@
+import iexcode.instruments.cfg as iex
 
-from iexcode.instruments.AD_utilities import *
-from iexcode.instruments.bakeout import * 
-from iexcode.instruments.cameras import * 
-from iexcode.instruments.conversions_constants import * 
-from iexcode.instruments.encoders import * 
-from iexcode.instruments.files_and_folders import * 
-from iexcode.instruments.IEX_BL_config import * 
-from iexcode.instruments.Logfile import * 
-from iexcode.instruments.Motors import * 
-from iexcode.instruments.remote_controlers import * 
-from iexcode.instruments.s29_temp_cntl import * 
-from iexcode.instruments.scalers import * 
-from iexcode.instruments.userCalcs import * 
-from iexcode.instruments.utilities import * 
-
+from iexcode.instruments.ARPES import *
+from iexcode.instruments.bakeout import * #not tested
+from iexcode.instruments.conversions_constants import *
+from iexcode.instruments.current_amplifiers import * #need to test SRS
+from iexcode.instruments.diagnostics import *
+from iexcode.instruments.electron_analyzer import * #didn't test, but not much changed
+from iexcode.instruments.encoders import * #didn't test encoder reset
+from iexcode.instruments.files_and_folders import *
+from iexcode.instruments.FMB_mirrors import *
+#from iexcode.instruments.hxp_mirrors import *
+from iexcode.instruments.IEX_cameras import *
+from iexcode.instruments.IEX_VPU import * #need to test with ID
+#from iexcode.instruments.kappa_angle_calcs import *
+#from iexcode.instruments.Kappa_det import *
+#from iexcode.instruments.Kappa import *
+from iexcode.instruments.Lakeshore_335 import *#didnt' test mostly hardcoded
+from iexcode.instruments.Logfile import * #
+from iexcode.instruments.m3r import *
+from iexcode.instruments.Motors import *
+#from iexcode.instruments.MPA import *
+from iexcode.instruments.Octupole import *
+#from iexcode.instruments.remote_controlers import *
+#from iexcode.instruments.resolution import *
+#from iexcode.instruments.s29_temp_cntl import *
+from iexcode.instruments.scalers import *
+from iexcode.instruments.scanRecord import *
+from iexcode.instruments.Scienta import *
+from iexcode.instruments.shutters import * #didn't do main shutter
+from iexcode.instruments.slits import *
+#from iexcode.instruments.spec_stuff import *
+from iexcode.instruments.staff import *
+from iexcode.instruments.storage_ring import *
+from iexcode.instruments.userCalcs import *
+from iexcode.instruments.utilities import *
+from iexcode.instruments.valves import *
+from iexcode.instruments.VLS_PGM import *
+from iexcode.instruments.utilities import *
+#from iexcode.instruments.vortex import *
+from iexcode.instruments.xrays import *