diff --git a/bin/bootstrap_epics b/bin/bootstrap_epics
index 85d5d3f97c334c6aea5e8244544708d03d95625f..8ce7b414fc2754419e6de31899801af2b40bf86d 100755
--- a/bin/bootstrap_epics
+++ b/bin/bootstrap_epics
@@ -67,7 +67,7 @@ set -- "${POSITIONAL[@]}" # restore positional parameters
 #  print_the_help
 #  exit 
 #fi
-
+#
 #if [ -d "${NAME}" ] 
 #then
 #  echo "Directory ${NAME} exists." 
@@ -80,61 +80,66 @@ set -- "${POSITIONAL[@]}" # restore positional parameters
 
 source setup.sh
 
-#lsb_release -d | grep -i "ubuntu" 
-#
-#if [[ "$?" == "0" ]] ; then 
-#  sudo apt-get install -y \
-#    re2c  libreadline-dev libusb-dev \
-#    libusb-java libusb-1.0-0-dev libnet1-dev \
-#    python-pip \
-#    libpcap-dev libx11-dev libxext-dev python-numpy
-#  if [[ "$(uname -m)" == "aarch64" ]] ; then
-#    sudo apt-get install -y python-rpi.gpio python3-rpi.gpio
-#  fi
-#  sudo pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org spidev
-#fi
-#
-#git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0
-#ln -s base-7.0 base
-#
-#pushd base
-#make 
-#popd
-#
-#wget -qO- https://epics.anl.gov/bcda/synApps/tar/synApps_6_0.tar.gz | tar -zxf - 
-
-#pushd synApps/support
-#ln -s calc-R3-7-1 calc 
-#ln -s asyn-R4-33 asyn 
-#ln -s stream-R2-7-7c stream 
-#sed -i '1d' configure/RELEASE
-#sed -i '1iSUPPORT = /opt/epics/synApps/support' configure/RELEASE
-#sed -i '3d' configure/RELEASE
-#sed -i '3iEPICS_BASE=/opt/epics/base' configure/RELEASE
-#sed -i '17d' configure/RELEASE
-#sed -i '17i#DXP=$(SUPPORT)/dxp-R5-0' configure/RELEASE
-#
-#sed -i '34d' configure/RELEASE
-#sed -i '34i#SSCAN=$(SUPPORT)/sscan-R2-11-1' configure/RELEASE
-#
-#
-#sed -i '46d' configure/RELEASE
-#sed -i '45d' configure/RELEASE
-#sed -i '44d' configure/RELEASE
-#sed -i '43d' configure/RELEASE
-#sed -i '42d' configure/RELEASE
-#sed -i '41d' configure/RELEASE
-#echo '#AREA_DETECTOR=$(SUPPORT)/areaDetector-R3-3-1' >> configure/RELEASE
-#echo '#ADCORE=$(AREA_DETECTOR)/ADCore' >> configure/RELEASE
-#echo '#ADSUPPORT=$(AREA_DETECTOR)/ADSupport' >> configure/RELEASE
-#echo '#ADSIMDETECTOR=$(AREA_DETECTOR)/ADSimDetector' >> configure/RELEASE
-#echo '#SNCSEQ=$(SUPPORT)/seq-2-2-5' >> configure/RELEASE
-#echo '#ALLEN_BRADLEY=$(SUPPORT)/allenBradley-2-3' >> configure/RELEASE
-#
-#make release
-#make 
-#
-#popd
+yes_or_no "build epics base"
+if [[ $?  ]] ; then 
+
+  lsb_release -d | grep -i "ubuntu" 
+
+  if [[ "$?" == "0" ]] ; then 
+    sudo apt-get install -y \
+      re2c  libreadline-dev libusb-dev \
+      libusb-java libusb-1.0-0-dev libnet1-dev \
+      python-pip \
+      libpcap-dev libx11-dev libxext-dev python-numpy
+    if [[ "$(uname -m)" == "aarch64" ]] ; then
+      sudo apt-get install -y python-rpi.gpio python3-rpi.gpio
+    fi
+    sudo pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org spidev
+  fi
+
+  git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0
+  ln -s base-7.0 base
+
+  pushd base
+  make 
+  popd
+
+  wget -qO- https://epics.anl.gov/bcda/synApps/tar/synApps_6_0.tar.gz | tar -zxf - 
+
+  pushd synApps/support
+  ln -s calc-R3-7-1 calc 
+  ln -s asyn-R4-33 asyn 
+  ln -s stream-R2-7-7c stream 
+  sed -i '1d' configure/RELEASE
+  sed -i '1iSUPPORT = /opt/epics/synApps/support' configure/RELEASE
+  sed -i '3d' configure/RELEASE
+  sed -i '3iEPICS_BASE=/opt/epics/base' configure/RELEASE
+  sed -i '17d' configure/RELEASE
+  sed -i '17i#DXP=$(SUPPORT)/dxp-R5-0' configure/RELEASE
+
+  sed -i '34d' configure/RELEASE
+  sed -i '34i#SSCAN=$(SUPPORT)/sscan-R2-11-1' configure/RELEASE
+
+
+  sed -i '46d' configure/RELEASE
+  sed -i '45d' configure/RELEASE
+  sed -i '44d' configure/RELEASE
+  sed -i '43d' configure/RELEASE
+  sed -i '42d' configure/RELEASE
+  sed -i '41d' configure/RELEASE
+  echo '#AREA_DETECTOR=$(SUPPORT)/areaDetector-R3-3-1' >> configure/RELEASE
+  echo '#ADCORE=$(AREA_DETECTOR)/ADCore' >> configure/RELEASE
+  echo '#ADSUPPORT=$(AREA_DETECTOR)/ADSupport' >> configure/RELEASE
+  echo '#ADSIMDETECTOR=$(AREA_DETECTOR)/ADSimDetector' >> configure/RELEASE
+  echo '#SNCSEQ=$(SUPPORT)/seq-2-2-5' >> configure/RELEASE
+  echo '#ALLEN_BRADLEY=$(SUPPORT)/allenBradley-2-3' >> configure/RELEASE
+
+  make release
+  make 
+
+  popd
+
+fi
 
 yes_or_no "Build extenstions"
 if [[ "$?"  ]] ; then 
diff --git a/dm/test_laser.ui b/dm/test_laser.ui
new file mode 100644
index 0000000000000000000000000000000000000000..32449c62215876a20b9ded58a21b6ef6ac0ef096
--- /dev/null
+++ b/dm/test_laser.ui
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <widget class="caByte" name="cabyte">
+    <property name="geometry">
+     <rect>
+      <x>40</x>
+      <y>120</y>
+      <width>20</width>
+      <height>120</height>
+     </rect>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">daq:l1:glstat</string>
+    </property>
+   </widget>
+   <widget class="caLed" name="caled">
+    <property name="geometry">
+     <rect>
+      <x>80</x>
+      <y>120</y>
+      <width>30</width>
+      <height>30</height>
+     </rect>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">daq:l1:state</string>
+    </property>
+   </widget>
+   <widget class="caTextEntry" name="catextentry">
+    <property name="geometry">
+     <rect>
+      <x>120</x>
+      <y>130</y>
+      <width>100</width>
+      <height>22</height>
+     </rect>
+    </property>
+   </widget>
+   <widget class="caLabel" name="calabel">
+    <property name="geometry">
+     <rect>
+      <x>110</x>
+      <y>180</y>
+      <width>90</width>
+      <height>28</height>
+     </rect>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">daq:l1:gserial</string>
+    </property>
+   </widget>
+  </widget>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>caTextEntry</class>
+   <extends>caLineEdit</extends>
+   <header>caTextEntry</header>
+  </customwidget>
+  <customwidget>
+   <class>caLabel</class>
+   <extends>QLabel</extends>
+   <header>caLabel</header>
+  </customwidget>
+  <customwidget>
+   <class>caLed</class>
+   <extends>QWidget</extends>
+   <header>caLed</header>
+  </customwidget>
+  <customwidget>
+   <class>caLineEdit</class>
+   <extends>QLineEdit</extends>
+   <header>caLineEdit</header>
+  </customwidget>
+  <customwidget>
+   <class>caByte</class>
+   <extends>QWidget</extends>
+   <header>caByte</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/setup.sh b/setup.sh
index 03f323c0b7c0b70eab7c536a81f6472f79346a45..48ab445dbc545ba934e98b63a1ac108e1fc5be10 100644
--- a/setup.sh
+++ b/setup.sh
@@ -17,8 +17,8 @@ export LD_LIBRARY_PATH=$EPICS_ROOT/lib:$LD_LIBRARY_PATH
 export PATH=$EPICS_BASE/bin/$EPICS_HOST_ARCH:$PATH
 export LD_LIBRARY_PATH=$EPICS_BASE/lib/$EPICS_HOST_ARCH:$LD_LIBRARY_PATH
 
-export EPICS_CA_AUTO_ADDR_LIST=NO
-export EPICS_CA_ADDR_LIST=10.10.241.0
+export EPICS_CA_AUTO_ADDR_LIST=YES
+#export EPICS_CA_ADDR_LIST=10.10.241.0
 
 # support
 export ASYN=$EPICS_ROOT/synApps/support/asyn