diff --git a/Makefile b/Makefile
index 357c9c286daf2d05769c27d88a6368194033bb38..32a177963b85324048f7f4ba50da8b24e3652b62 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,4 @@
-#
-#  Copyright (c) 2017 - Present  Jeong Han Lee
+#  Copyright (c) 2017 - 2020  Jeong Han Lee
 #  Copyright (c) 2017 - Present  European Spallation Source ERIC
 #
 #  The program is free software: you can redistribute
@@ -14,17 +13,7 @@
 #
 #  You should have received a copy of the GNU General Public License along with
 #  this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
-#
-# 
-# Author  : Jeong Han Lee
-# email   : jeonghan.lee@gmail.com
-# Date    : 2018Apr06-1331-13CEST
-# version : 0.0.1
-
 
 TOP:=$(CURDIR)
-
 include $(TOP)/configure/CONFIG
-
 include $(TOP)/configure/RULES
-
diff --git a/README.md b/README.md
index f6aaab69c20a6dc899bfc1104476ecf9ee078c25..903eda64dc94b0ac485b9fc207429421a94938bd 100644
--- a/README.md
+++ b/README.md
@@ -1,51 +1,50 @@
 # e3-autosave
 
-## Autosave settings
+Wrapper for the `autosave` module - part of EPICS infrastructure at ESS. This module is loaded through `essioc` for production IOCs.
 
-We try to enclose most possible autosave configuration within `autosave.iocsh`. 
+## Installation
 
-## Preparation of DB
-
-Each record in database file that needs to have values saved by `autosave` must have the one of following `info` tags. Such as
-```
- info(autosaveFields, "PREC SCAN DESC OUT")
- info(autosaveFields_pass0, "VAL")
- info(autosaveFields_pass1, "VAL")
+```sh
+$ make init patch build
+$ make install
 ```
 
-Each info tag should be matched with what one would like to use such as
+For further targets, type `make`.
 
-* `autosaveFields` : before and after record initialization
-  - `settings.sav` : in `$(AS_TOP)/$(IOCNAME)/save`
-  - `settings.req` : in `$(AS_TOP)/$(IOCNAME)/req`
- 
-* `autosaveFields_pass0` : before record initialization
-  - `values_pass0.sav` : in `$(AS_TOP)/$(IOCNAME)/save`
-  - `values_pass0.req` : in `$(AS_TOP)/$(IOCNAME)/req`
+## Usage
 
-* `autosaveFields_pass1`: after record initialization (Most autosave values can be restored at Pass 0 and Pass 1 using the `autosaveFields` info tag.)
-  - `values_pass1.sav`    : in `$(AS_TOP)/$(IOCNAME)/save`
-  - `values_pass1.req`    : in `$(AS_TOP)/$(IOCNAME)/req`
+```sh
+$ iocsh -r "autosave"
+```
 
-Please look at the example in [Autosave DB example](template/SR_test_info.db).
+### How it works
 
-## How to enable it within e3
+To set up autosave (and boot-time restore) of record fields, use one of the following info-tags:
 
+* `autosaveFields`: to restore **before** and **after** record initialization
+  - `settings.sav`: in `$(AS_TOP)/$(IOCNAME)/save`
+  - `settings.req`: in `$(AS_TOP)/$(IOCNAME)/req`
+ 
+* `autosaveFields_pass0`: to restore only **before** record initialization
+  - `values_pass0.sav`: in `$(AS_TOP)/$(IOCNAME)/save`
+  - `values_pass0.req`: in `$(AS_TOP)/$(IOCNAME)/req`
 
-```
-require autosave,5.10.0
+* `autosaveFields_pass1`: to restore only **after** record initialization
+  - `values_pass1.sav`: in `$(AS_TOP)/$(IOCNAME)/save`
+  - `values_pass1.req`: in `$(AS_TOP)/$(IOCNAME)/req`
 
-epicsEnvSet("TOP", "$(E3_CMD_TOP)/..")
-epicsEnvSet("IOCNAME", "as_test")
+For example:
 
-iocshLoad("$(autosave_DIR)/autosave.iocsh", "AS_TOP=$(TOP),IOCNAME=$(IOCNAME)")
+```
+record("*", "some-record") {
+    info(autosaveFields, "PREC SCAN DESC OUT")
+    info(autosaveFields_pass0, "VAL")
+    info(autosaveFields_pass1, "VAL")
+}
 ```
 
-## asVerify
-
-asVerify is avaiable in `${EPICS_BASE}/bin/${EPICS_HOST_ARCH}/asVerify_VERSION`. Once e3 environment is sourced, it can be executable in that terminal. Please see its usage at https://epics.anl.gov/bcda/synApps/autosave/autoSaveRestore_R5-5.html#asVerify
-
+Each info tag should be matched with what one would like to use such as
 
-## request (req) files
+## Contributing
 
-The req files can be used, however, one should copy all req files into `db` folder, by `TEMPLATE` variable. In order to integrate an IOC, please check [README : How to use existent req files](README_REQUEST.md). However, it is highly recommended **NOT** to use this method if possible. 
+Contributions through pull/merge requests only.
diff --git a/autosave.Makefile b/autosave.Makefile
index bc6c1f15136bd1020a1b4d7e58f272536ef701c3..1700e88ef40b0e5285651c4d3aeef6963abc15cf 100644
--- a/autosave.Makefile
+++ b/autosave.Makefile
@@ -1,6 +1,5 @@
-#
 #  Copyright (c) 2017 - 2019   Jeong Han Lee
-#  Copyright (c) 2019          European Spallation Source ERIC
+#  Copyright (c) 2019 - Current  European Spallation Source ERIC
 #
 #  The program is free software: you can redistribute
 #  it and/or modify it under the terms of the GNU General Public License
@@ -14,71 +13,45 @@
 #
 #  You should have received a copy of the GNU General Public License along with
 #  this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
-#
-# Author  : Jeong Han Lee
-# email   : han.lee@esss.se
-# Date    : Wednesday, September 11 20:36:45 CEST 2019
-# version : 0.0.4
-
-# Get where_am_I before include driver.makefile.
-# After driver.makefile, where_am_I is the epics base,
-# so we cannot use it
-
-# LEGACY_RSET should be defined before driver.makefile
-# require-ess from 3.0.1
-#LEGACY_RSET = YES
-
 
 where_am_I := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
 include ${E3_REQUIRE_TOOLS}/driver.makefile
 
+USR_CFLAGS += -DDBLOADRECORDSHOOKREGISTER
+USR_CFLAGS += -DUSE_TYPED_RSET
 
-
-# To enable autosaveBuild, use dbLoadRecordsHookRegister.  (But it doesn't
-# appear in EPICS base until 3.14.12.5, so disable by default for now.)
-# ESS uses the more than 3.14.12.5, so we enable them by default
-
-USR_CFLAGS   += -DDBLOADRECORDSHOOKREGISTER
-USR_CFLAGS   += -DUSE_TYPED_RSET
-
-USR_CFLAGS   += -Wno-unused-variable
-USR_CFLAGS   += -Wno-unused-function
+USR_CFLAGS += -Wno-unused-variable
+USR_CFLAGS += -Wno-unused-function
 USR_CPPFLAGS += -Wno-unused-variable
 USR_CPPFLAGS += -Wno-unused-function
 
+ASAPP := asApp
+ASAPPDB := $(ASAPP)/Db
+ASAPPSRC := $(ASAPP)/src
 
-ASAPP:=asApp
-ASAAPDB:= $(ASAPP)/Db
-ASAPPSRC:= $(ASAPP)/src
-
-#include files
 HEADERS += $(ASAPPSRC)/os/Linux/osdNfs.h
 
-
-#os independent code
+# OS independent code
 SOURCES += $(ASAPPSRC)/dbrestore.c
 SOURCES += $(ASAPPSRC)/save_restore.c
 SOURCES += $(ASAPPSRC)/initHooks.c
 SOURCES += $(ASAPPSRC)/fGetDateStr.c
 SOURCES += $(ASAPPSRC)/configMenuSub.c
+SOURCES += $(ASAPPSRC)/verify.c
 
-#os dependent code
+# OS dependent code
 SOURCES += $(ASAPPSRC)/os/Linux/osdNfs.c
 
-#DO NOT relocate verify.c file
-#os independent code
-SOURCES += $(ASAPPSRC)/verify.c
-
-DBDS    += $(ASAPPSRC)/asSupport.dbd
+DBDS += $(ASAPPSRC)/asSupport.dbd
 
 SCRIPTS += $(wildcard ../iocsh/*.iocsh)
 
-TEMPLATES += ../template/save_restoreStatus.db
-TEMPLATES += $(ASAAPDB)/configMenu.db
+TEMPLATES += $(ASAPPDB)/save_restoreStatus.db
+TEMPLATES += $(ASAPPDB)/configMenu.db
 
-TEMPLATES += $(ASAAPDB)/configMenuNames.req
-TEMPLATES += $(ASAAPDB)/configMenu.req
-TEMPLATES += $(ASAAPDB)/configMenu_settings.req
+TEMPLATES += $(ASAPPDB)/configMenuNames.req
+TEMPLATES += $(ASAPPDB)/configMenu.req
+TEMPLATES += $(ASAPPDB)/configMenu_settings.req
 
 ########################################################
 #
@@ -112,11 +85,3 @@ $(ASVERIFY): $(ASVERIFY_SOURCES:.c=.o)
 	$(CCC) -o $@ -L$(EPICS_BASE_LIB) -Wl,-rpath,$(EPICS_BASE_LIB) $(OP_SYS_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(CODE_LDFLAGS) $^ -lca -lCom 
 	@echo "<<<<< asVerify Done"
 	@echo ""
-
-
-
-#
-.PHONY: vlibs
-vlibs:
-#
-
diff --git a/cmds/as_auto_test.cmd b/cmds/as_auto_test.cmd
deleted file mode 100644
index 2b2e7476036f99be8ce4fea539ca70cd362e1cb7..0000000000000000000000000000000000000000
--- a/cmds/as_auto_test.cmd
+++ /dev/null
@@ -1,21 +0,0 @@
-require iocStats,3.1.16
-require autosave,5.10.0
-require std,3.5.0
-
-epicsEnvSet("TOP", "$(E3_CMD_TOP)/..")
-
-epicsEnvSet("SEC", "SEC")
-epicsEnvSet("SUB", "SUB01")
-epicsEnvSet("P", "$(SEC)-$(SUB):")
-epicsEnvSet("DIS", "DIS")
-epicsEnvSet("DEV", "DEV-01")
-epicsEnvSet("R", "$(DIS)-$(DEV)")
-
-iocshLoad("$(TOP)/iocsh/autosave.iocsh", "AS_TOP=$(TARGET),IOCNAME=$(IOCNAME),SEQ_PERIOD=60")
-
-dbLoadRecords("$(TOP)/template/SR_test_info.db","P=$(IOCNAME):,N=12")
-
-
-iocInit()
-
-dbl > "${IOCNAME}_PVs.list"
diff --git a/cmds/as_test.cmd b/cmds/as_test.cmd
deleted file mode 100644
index 1b884473ad8d5b96ebc15faa901b9a370c843f08..0000000000000000000000000000000000000000
--- a/cmds/as_test.cmd
+++ /dev/null
@@ -1,23 +0,0 @@
-require iocStats,3.1.16
-require autosave,5.10.0
-#require std,3.6.1
-
-epicsEnvSet("TOP", "$(E3_CMD_TOP)/..")
-
-epicsEnvSet("SEC", "SEC")
-epicsEnvSet("SUB", "SUB01")
-epicsEnvSet("P", "$(SEC)-$(SUB):")
-epicsEnvSet("DIS", "DIS")
-epicsEnvSet("DEV", "DEV-01")
-epicsEnvSet("R", "$(DIS)-$(DEV)")
-epicsEnvSet("IOCNAME", "ioc_test")
-
-
-iocshLoad("$(TOP)/iocsh/autosave.iocsh", "AS_TOP=$(TOP),IOCNAME=$(IOCNAME),SEQ_PERIOD=60")
-
-dbLoadRecords("$(TOP)/template/SR_test_info.db","P=$(IOCNAME):,N=12")
-
-
-iocInit()
-
-dbl > "${IOCNAME}_PVs.list"
diff --git a/configure/CONFIG b/configure/CONFIG
index 8772be7505d5eb1af55d86c2f74542cbffe5e1e6..5b2c6bb5fd9aad37256926d55a647d343f38029f 100644
--- a/configure/CONFIG
+++ b/configure/CONFIG
@@ -1,20 +1,8 @@
-#
 VARS_EXCLUDES := $(.VARIABLES)
 
-ifneq (,$(findstring dev,$(MAKECMDGOALS)))
-include $(TOP)/configure/RELEASE_DEV
-else
 include $(TOP)/configure/RELEASE
-endif
-
-ifneq (,$(findstring dev,$(MAKECMDGOALS)))
-include $(TOP)/configure/CONFIG_MODULE_DEV
-else
 include $(TOP)/configure/CONFIG_MODULE
-endif
 
 E3_REQUIRE_LOCATION := $(EPICS_BASE)/$(E3_REQUIRE_NAME)/$(E3_REQUIRE_VERSION)
 
-
 include $(E3_REQUIRE_LOCATION)/configure/CONFIG
-
diff --git a/configure/CONFIG_MODULE b/configure/CONFIG_MODULE
index f43ddd20d11b8cdda6405fe2d4212301643033dd..2d5653d50af36be1162ee0a55d9460145a0cbaa3 100644
--- a/configure/CONFIG_MODULE
+++ b/configure/CONFIG_MODULE
@@ -7,6 +7,4 @@ E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)
 E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
 
 -include $(TOP)/configure/CONFIG_OPTIONS
-# The definitions shown below can also be placed in an untracked CONFIG_MODULE*.local
 -include $(TOP)/configure/CONFIG_MODULE.local
-#
diff --git a/configure/CONFIG_MODULE_DEV b/configure/CONFIG_MODULE_DEV
deleted file mode 100644
index 987f1613aec48294d612e863b5e6eb1f07f43461..0000000000000000000000000000000000000000
--- a/configure/CONFIG_MODULE_DEV
+++ /dev/null
@@ -1,18 +0,0 @@
-EPICS_MODULE_NAME:=autosave
-#
-EPICS_MODULE_TAG:=master
-#
-E3_MODULE_VERSION:=develop
-#
-E3_MODULE_NAME:=$(EPICS_MODULE_NAME)
-#
-E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)-dev
-#
-E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
-#
-E3_MODULE_DEV_GITURL:="https://github.com/epics-modules/autosave"
-#
--include $(TOP)/configure/CONFIG_OPTIONS
-# The definitions shown below can also be placed in an untracked CONFIG_MODULE*.local
--include $(TOP)/configure/CONFIG_MODULE_DEV.local
-#
diff --git a/configure/CONFIG_OPTIONS b/configure/CONFIG_OPTIONS
deleted file mode 100644
index 01b5b1da7b8e15ddabdf14ae8c775f289de706f3..0000000000000000000000000000000000000000
--- a/configure/CONFIG_OPTIONS
+++ /dev/null
@@ -1,13 +0,0 @@
-# One should install libusb-1.0.0
-# Debian apt-get install libusb-1.0-0-dev libusb-1.0-0
-# USR_INCLUDES 
-# $ pkg-config --cflags libusb-1.0
-#   -I/usr/include/libusb-1.0
-# USR_LDFLAGS
-# $ pkg-config --libs libusb-1.0
-# $ -lusb-1.0 
-#
-#ifeq (linux-x86_64, $(T_A))
-#  DRV_USBTMC=YES
-#  export DRV_USBTMC
-#endif
diff --git a/configure/RELEASE b/configure/RELEASE
index 0d6a02ccd18461a6ce18fd30f122fd86dd2b9272..2af34c30a725fbb7064c0e37fbf880c086fba31f 100644
--- a/configure/RELEASE
+++ b/configure/RELEASE
@@ -1,11 +1,7 @@
-#
 EPICS_BASE:=/epics/base-7.0.7
-
 E3_REQUIRE_NAME:=require
 E3_REQUIRE_VERSION:=5.0.0
 
-# The definitions shown below can also be placed in an untracked RELEASE.local
 -include $(TOP)/../../RELEASE.local
 -include $(TOP)/../RELEASE.local
 -include $(TOP)/configure/RELEASE.local
-
diff --git a/configure/RELEASE_DEV b/configure/RELEASE_DEV
deleted file mode 100644
index feb99b80564d3f7476813ae12e98693148df8a0f..0000000000000000000000000000000000000000
--- a/configure/RELEASE_DEV
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-EPICS_BASE=/epics/base-7.0.5
-
-E3_REQUIRE_NAME:=require
-E3_REQUIRE_VERSION:=3.4.0
-
-# The definitions shown below can also be placed in an untracked RELEASE_DEV.local
--include $(TOP)/../../RELEASE_DEV.local
--include $(TOP)/../RELEASE_DEV.local
--include $(TOP)/configure/RELEASE_DEV.local
-
diff --git a/configure/RULES b/configure/RULES
index 96cc1d180eecd24481bf84947a41d983b4b7bab6..0ae7170e517ff0d0cf392fde9b673078c3468d34 100644
--- a/configure/RULES
+++ b/configure/RULES
@@ -1,6 +1,5 @@
 
 include $(E3_REQUIRE_CONFIG)/RULES_SITEMODS
-
 include $(TOP)/configure/module/RULES_MODULE
 -include $(TOP)/configure/module/RULES_DKMS_L
 
diff --git a/configure/module/RULES_DKMS_L b/configure/module/RULES_DKMS_L
index c66bf32a19289cdcf990bc893a2758ab9357b362..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/configure/module/RULES_DKMS_L
+++ b/configure/module/RULES_DKMS_L
@@ -1,38 +0,0 @@
-
-# KMOD_NAME := mrf
-
-# .PHONY: dkms_add
-
-# dkms_add: conf
-#       $(MSI) -M name="$(E3_MODULE_NAME)" -M  version="$(E3_MODULE_VERSION)" -M kmod_name="$(KMOD_NAME)" $(TOP)/dkms/dkms_with_msi.conf.in > $(TOP)/dkms/dkms_with_msi.conf
-#       $(QUIET) cat $(TOP)/dkms/dkms_with_msi.conf $(TOP)/dkms/dkms_without_msi.conf > $(TOP)/dkms/dkms.conf
-#       $(QUIET) install -m 644 $(TOP)/dkms/dkms.conf  $(E3_KMOD_SRC_PATH)/
-#       $(SUDO) install -d /usr/src/$(E3_MODULE_NAME)-$(E3_MODULE_VERSION)
-#       $(SUDO) cp -r $(TOP)/$(E3_KMOD_SRC_PATH)/* /usr/src/$(E3_MODULE_NAME)-$(E3_MODULE_VERSION)/
-#       $(SUDO) $(DKMS) add $(DKMS_ARGS)
-
-
-# setup:
-#       $(QUIET) $(SUDO2) 'echo KERNEL==\"uio*\", ATTR{name}==\"mrf-pci\", MODE=\"0666\" | tee  /etc/udev/rules.d/99-$(KMOD_NAME).rules'
-#       $(QUIET) $(SUDO) /bin/udevadm control --reload-rules
-#       $(QUIET) $(SUDO) /bin/udevadm trigger
-#       $(QUIET) $(SUDO2) 'echo $(KMOD_NAME) | tee /etc/modules-load.d/$(KMOD_NAME).conf'
-#       $(QUIET) $(SUDO) depmod --quick
-#       $(QUIET) $(SUDO) modprobe -rv $(KMOD_NAME)
-#       $(QUIET) $(SUDO) modprobe -v $(KMOD_NAME)
-#       $(QUIET) echo ""
-#       $(QUIET) echo ""
-#       $(QUIET) echo "It is OK to see \"E3/RULES_DKMS:37: recipe for target 'setup' failed\""
-#       $(QUIET) echo "---------------------------------------------------------------------"
-#       $(QUIET) -ls -l /dev/uio* 2>/dev/null
-#       $(QUIET) echo "---------------------------------------------------------------------"
-
-
-# setup_clean:
-#       $(QUIET) $(SUDO) modprobe -rv $(KMOD_NAME)
-#       $(SUDO) rm -f /etc/modules-load.d/$(KMOD_NAME).conf
-#       $(SUDO) rm -f /etc/udev/rules.d/99-$(KMOD_NAME).rules
-
-
-# .PHONY: setup setup_clean
-
diff --git a/configure/module/RULES_MODULE b/configure/module/RULES_MODULE
index a543df1ea18f77b4605e767653af919e6cebfea0..c74a6baeaaf648c1904af9118a16dc7e80c8ece7 100644
--- a/configure/module/RULES_MODULE
+++ b/configure/module/RULES_MODULE
@@ -1,6 +1,4 @@
-#
 .PHONY: hdrs
-
 hdrs:
 
 TEST_BIN_LOCATION = $(TEMP_CELL_PATH)/$(notdir $(EPICS_BASE))/require-$(E3_REQUIRE_VERSION)/$(E3_MODULE_NAME)/$(E3_MODULE_VERSION)/bin
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index c5328381693f3d6efe28726d8764c1272dd4692d..0000000000000000000000000000000000000000
--- a/docs/README.md
+++ /dev/null
@@ -1,78 +0,0 @@
-How to reuse request files
-===
-
-It is highly recommended to use `info` tag instead of the seperated request files. However, this file would like to help them to use existent request files within `autosave.iocsh` within `e3-autosave` according to existent all EPICS modules' req files, own req files, or both. 
-
-
-## `e3-autosave` 
-
-```
-require autosave,5.10.0
-...
-dbLoadRecords("spinnaker.db", "P=$(PREFIX),R=,PORT=$(PORT)")
-...
-iocshLoad("$(autosave_DIR)/autosave.iocsh", "AS_TOP=$(TOP),IOCNAME=$(IOCNAME)")
-#
-iocInit()
-```
-
-## `e3-ADSpinnakar`
-
-* Use the same way to use `e3-autosave`
-
-* Define **all** requestfile path before the first `dbLoadRecords`. It is important to open all req files, which are related with all database files. And one has to check where they are. And one has to define them all. 
-
-```
-set_requestfile_path("$(ADSpinnaker_DB)", "")
-set_requestfile_path("$(ADGenICam_DB)", "")
-set_requestfile_path("$(ADCore_DB)", "")
-set_requestfile_path("$(calc_DB)", "")
-set_requestfile_path("$(busy_DB)", "")
-set_requestfile_path("$(TOP)", "cmds")
-```
-
-* Create one own req file in a directory (for example, `cmds`).
-
-```
-$ more cmds/auto_settings.req 
-file "spinnaker_settings.req",            P=$(P),  R=$(R)
-file "NDStdArrays_settings.req",          P=$(P),  R=$(R)
-file "commonPlugin_settings.req",         P=$(P)
-```
-
-* Add the `create_monitor_set` after `iocInit`
-```
-create_monitor_set("auto_settings.req", 5, "P=$(PREFIX),R=,IMAGE=$(IMAGE):")
-```
-
-* Full example for the ADSpinnaker application
-
-```
-require ADSpinnaker,2.0.0
-require calc,3.7.3
-require busy,1.7.2-e45eda2
-require autosave,5.10.0
-
-epicsEnvSet("TOP", "$(E3_CMD_TOP)/..")
-
-set_requestfile_path("$(ADSpinnaker_DB)", "")
-set_requestfile_path("$(ADGenICam_DB)", "")
-set_requestfile_path("$(ADCore_DB)", "")
-set_requestfile_path("$(calc_DB)", "")
-set_requestfile_path("$(busy_DB)", "")
-set_requestfile_path("$(TOP)", "cmds")
-
-ADSpinnakerConfig("$(PORT)", "$(CAMERA_ID)", 0x1, 0)
-dbLoadRecords("spinnaker.db", "P=$(PREFIX),R=,PORT=$(PORT)")
-dbLoadRecords("PGR_BlackflyS_50S5C.db", "P=$(PREFIX),R=,PORT=$(PORT)")
-
-NDStdArraysConfigure("$(IMAGE)", 5, 0, "$(PORT)", 0, 0)
-dbLoadRecords("NDStdArrays.template", "P=$(PREFIX),R=,PORT=$(IMAGE),ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT),TYPE=Int16,FTVL=SHORT,NELEMENTS=$(NELEMENTS)")
-iocshLoad("$(ADCore_DIR)/commPlugins.iocsh", "P=$(PREFIX),UNIT=1,PORT=$(IMAGE),QSIZE=$(QSIZE),XSIZE=$(XSIZE),YSIZE=$(YSIZE),NCHANS=$(NCHANS),CBUFFS=$(CBUFFS)")
-
-iocshLoad("$(autosave_DIR)/autosave.iocsh", "AS_TOP=$(TOP),IOCNAME=$(IOCNAME)")
-
-iocInit()
-
-create_monitor_set("auto_settings.req", 5, "P=$(PREFIX),R=,IMAGE=$(IMAGE):")
-```
diff --git a/iocsh/autosave.iocsh b/iocsh/autosave.iocsh
index c623056336e4b5e5e77e6132f7120e6a0129cf38..204959ce50a533f6ae82546a57890fea2c37b118 100644
--- a/iocsh/autosave.iocsh
+++ b/iocsh/autosave.iocsh
@@ -16,6 +16,7 @@
 #- AUTOSAVE_VALUES_PERIOD_PASS0   - Optional, Default 5
 #- AUTOSAVE_VALUES_PERIOD_PASS1   - Optional, Default 10
 #- AUTOSAVE_SETTINGS_PERIOD       - Optional, Default 5
+#- AUTOSAVE_DEBUG_MODE            - Optional, Default 0
 
 set_savefile_path    ("$(AS_TOP)/$(IOCDIR)", "/save")
 set_requestfile_path ("$(AS_TOP)/$(IOCDIR)", "/req")
@@ -27,7 +28,7 @@ system("install -d $(AS_TOP)/$(IOCDIR)/req")
 save_restoreSet_status_prefix("$(IOCNAME):as-")
 
 #- Debug-output level
-save_restoreSet_Debug(0)
+save_restoreSet_Debug($(AUTOSAVE_DEBUG_MODE=0))
 
 #- Ok to save/restore save sets with missing values (no CA connection to PV)?
 save_restoreSet_IncompleteSetsOk($(AUTOSAVE_INCOMPLETE=1))
diff --git a/patch/Site/HISTORY.md b/patch/Site/HISTORY.md
deleted file mode 100644
index cbaad2eaa64047b0bd0ec3c4be818540a470da74..0000000000000000000000000000000000000000
--- a/patch/Site/HISTORY.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# what_ever_filename.p0.patch
-
-Generic Description.....
-
-* created by Jeong Han Lee, han.lee@esss.se
-* related URL or reference https://github.com/icshwi
-* Tuesday, February 13 13:24:57 CET 2018
diff --git a/patch/Site/README.md b/patch/Site/README.md
deleted file mode 100644
index 60cb9573d1395655dd6fc3dc93eb663db8091568..0000000000000000000000000000000000000000
--- a/patch/Site/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Site Specific EPICS Module Patch Files
-
-## Changes
-The changes were tested in local environemnt, and commits to the forked repository and do pull request to the epics community module repository.
-
-* Check the original HASH, and your own master
-* feb8856 : The original HASH
-* master : Changed
-
-
-## How to create a p0 patch file between commits
-
-
-* Show what the difference between commits
-
-
-* Create p0 patch
-
-```
-$git diff feb8856 master --no-prefix > ../patch/Site/what_ever_filename.p0.patch
-```
-
diff --git a/template/SR_test_info.db b/template/SR_test_info.db
deleted file mode 100644
index c59108312c1492d612a5143f154027140d5442f9..0000000000000000000000000000000000000000
--- a/template/SR_test_info.db
+++ /dev/null
@@ -1,95 +0,0 @@
-record(ao, "$(P)SR_ao")
-{
-    field(DTYP,"Soft Channel")
-    info(autosaveFields, "PREC SCAN DESC OUT")
-    info(autosaveFields_pass0, "VAL")
-    
-}
-
-record(ao, "$(P)SR_aoDISP")
-{
-    field(DTYP,"Soft Channel")
-    info(autosaveFields, "DISP")
-}
-
-record(ao, "$(P)SR_longout")
-{
-    field(DTYP,"Soft Channel")
-    info(autosaveFields_pass1, "VAL")
-}
-
-record(bo, "$(P)SR_bo")
-{
-    field(DTYP,"Soft Channel")
-    info(autosaveFields, "IVOV")
-}
-
-record(bi, "$(P)SR_bi")
-{
-    field(DTYP,"Soft Channel")
-    info(autosaveFields_pass0, "SVAL")
-}
-
-# arrays
-record(waveform, "$(P)SR_char_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "CHAR")
-    info(autosaveFields_pass1, "VAL")
-}
-
-record(waveform, "$(P)SR_double_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "DOUBLE")
-    info(autosaveFields_pass1, "VAL")
-}
-
-record(waveform, "$(P)SR_float_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "FLOAT")
-    info(autosaveFields_pass1, "VAL")
-}
-
-record(waveform, "$(P)SR_long_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "LONG")
-    info(autosaveFields_pass1, "VAL")   
-}
-
-record(waveform, "$(P)SR_short_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "SHORT")
-    info(autosaveFields_pass1, "VAL")   
-}
-
-record(waveform, "$(P)SR_string_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "STRING")
-    info(autosaveFields_pass1, "VAL")   
-}
-
-record(waveform, "$(P)SR_uchar_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "UCHAR")
-    info(autosaveFields_pass1, "VAL")   
-}
-
-record(waveform, "$(P)SR_ulong_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "ULONG")
-    info(autosaveFields_pass1, "VAL")   
-}
-
-record(waveform, "$(P)SR_ushort_array")
-{
-    field(NELM, "$(N)")
-    field(FTVL, "USHORT")
-    info(autosaveFields_pass1, "VAL")   
-}
diff --git a/tools/README.md b/tools/README.md
deleted file mode 100644
index e7fb64d79260805b200c21003c39b79fdd807b73..0000000000000000000000000000000000000000
--- a/tools/README.md
+++ /dev/null
@@ -1,261 +0,0 @@
-Test Procedures
-===
-
-# Automatic
-
-```
-bash tools/check_autosave_status.bash
-```
-
-# Manual
-
-* Run an IOC
-
-```
-e3-autosave (master)$ iocsh.bash cmds/as_test.cmd 
-```
-
-* Wait for Backup files..
-```
-...
-efe358d.proton.20315 > save_restore:write_save_file: Backup file (/home/jhlee/e3-7.0.3/e3-autosave/cmds/../ioc_test/save/values_pass0.savB) bad or not found.  Writing a new one. [191010-162509]
-save_restore:write_save_file: Backup file (/home/jhlee/e3-7.0.3/e3-autosave/cmds/../ioc_test/save/settings.savB) bad or not found.  Writing a new one. [191010-162509]
-save_restore:write_save_file: Backup file (/home/jhlee/e3-7.0.3/e3-autosave/cmds/../ioc_test/save/values_pass1.savB) bad or not found.  Writing a new one. [191010-162514]
-
-```
-* Check PVs
-```
-e3-autosave (master)$ bash tools/SR_get.bash > 1 
-e3-autosave (master)$ cat 1
-ioc_test:SR_aoDISP.DISP        0
-ioc_test:SR_ao.PREC            0
-ioc_test:SR_bo.IVOV            0
-ioc_test:SR_ao.SCAN            Passive
-ioc_test:SR_ao.VAL             0
-ioc_test:SR_ao.DESC            
-ioc_test:SR_ao.OUT             
-ioc_test:SR_longout            0
-ioc_test:SR_bi.SVAL            0
-ioc_test:SR_char_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-ioc_test:SR_double_array 12 2.50321e-308 0 0 0 0 0 0 0 0 0 0 0
-ioc_test:SR_float_array 12 4.06377e-44 0 0 0 0 0 0 0 0 0 0 0
-ioc_test:SR_long_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-ioc_test:SR_short_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-ioc_test:SR_string_array 12            
-ioc_test:SR_uchar_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-ioc_test:SR_ulong_array 12 2.50321e-308 0 0 0 0 0 0 0 0 0 0 0
-ioc_test:SR_ushort_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-```
-* Put some values 
-```
-e3-autosave (master)$ bash tools/SR_put.bash 
-Old : ioc_test:SR_aoDISP.DISP        0
-New : ioc_test:SR_aoDISP.DISP        27
-Old : ioc_test:SR_ao.PREC            0
-New : ioc_test:SR_ao.PREC            6
-Old : ioc_test:SR_bo.IVOV            0
-New : ioc_test:SR_bo.IVOV            67
-Old : ioc_test:SR_ao.SCAN            Passive
-New : ioc_test:SR_ao.SCAN            .1 second
-Old : ioc_test:SR_ao.VAL             0
-New : ioc_test:SR_ao.VAL             622.1
-Old : ioc_test:SR_ao.DESC            
-New : ioc_test:SR_ao.DESC            uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-Old : ioc_test:SR_ao.OUT             
-New : ioc_test:SR_ao.OUT             abc:rec PP NMS
-Old : ioc_test:SR_longout            0
-New : ioc_test:SR_longout            743
-Old : ioc_test:SR_bi.SVAL            0
-New : ioc_test:SR_bi.SVAL            5
-Old : ioc_test:SR_char_array \003
-New : ioc_test:SR_char_array uzffe
-Old : ioc_test:SR_double_array 12 2.50321e-308 0 0 0 0 0 0 0 0 0 0 0
-New : ioc_test:SR_double_array 12 6 67 80 622 743 0 0 0 0 0 0 0
-Old : ioc_test:SR_float_array 12 6.5861e-44 0 0 0 0 0 0 0 0 0 0 0
-New : ioc_test:SR_float_array 12 27 6 67 80 622 5 0 0 0 0 0 0
-Old : ioc_test:SR_long_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-New : ioc_test:SR_long_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-Old : ioc_test:SR_short_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-New : ioc_test:SR_short_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-Old : ioc_test:SR_string_array 12            
-New : ioc_test:SR_string_array 12 uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi abc def ghi        
-Old : ioc_test:SR_uchar_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-New : ioc_test:SR_uchar_array 12 27 6 67 80 0 0 0 0 0 0 0 0
-Old : ioc_test:SR_ulong_array 12 2.50321e-308 0 0 0 0 0 0 0 0 0 0 0
-New : ioc_test:SR_ulong_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-Old : ioc_test:SR_ushort_array 12 3 0 0 0 0 0 0 0 0 0 0 0
-New : ioc_test:SR_ushort_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-```
-
-* Check PVs values
-
-```
-e3-autosave (master)$ bash tools/SR_get.bash > 2
-jhlee@proton: e3-autosave (master)$ cat 2
-ioc_test:SR_aoDISP.DISP        27
-ioc_test:SR_ao.PREC            6
-ioc_test:SR_bo.IVOV            67
-ioc_test:SR_ao.SCAN            .1 second
-ioc_test:SR_ao.VAL             622.1
-ioc_test:SR_ao.DESC            uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-ioc_test:SR_ao.OUT             abc:rec PP NMS
-ioc_test:SR_longout            743
-ioc_test:SR_bi.SVAL            5
-ioc_test:SR_char_array 12 117 122 102 102 101 0 0 0 0 0 0 0
-ioc_test:SR_double_array 12 6 67 80 622 743 0 0 0 0 0 0 0
-ioc_test:SR_float_array 12 27 6 67 80 622 5 0 0 0 0 0 0
-ioc_test:SR_long_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-ioc_test:SR_short_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-ioc_test:SR_string_array 12 uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi abc def ghi        
-ioc_test:SR_uchar_array 12 27 6 67 80 0 0 0 0 0 0 0 0
-ioc_test:SR_ulong_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-ioc_test:SR_ushort_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-```
-
-* Check the autosave folders
-```
-e3-autosave (master)$ tree ioc_test/
-ioc_test/
-├── [jhlee    4.0K]  req
-│   ├── [jhlee     123]  settings.req
-│   ├── [jhlee      39]  values_pass0.req
-│   └── [jhlee     277]  values_pass1.req
-└── [jhlee    4.0K]  save
-    ├── [jhlee     266]  settings.sav
-    ├── [jhlee     211]  settings.sav0
-    ├── [jhlee     266]  settings.sav1
-    ├── [jhlee     266]  settings.sav2
-    ├── [jhlee     266]  settings.savB
-    ├── [jhlee     125]  values_pass0.sav
-    ├── [jhlee     121]  values_pass0.sav0
-    ├── [jhlee     125]  values_pass0.sav1
-    ├── [jhlee     125]  values_pass0.sav2
-    ├── [jhlee     125]  values_pass0.savB
-    ├── [jhlee     767]  values_pass1.sav
-    ├── [jhlee     369]  values_pass1.sav0
-    ├── [jhlee     371]  values_pass1.sav1
-    ├── [jhlee     767]  values_pass1.sav2
-    └── [jhlee     767]  values_pass1.savB
-
- e3-autosave (master)$ more ioc_test/req/*
-::::::::::::::
-ioc_test/req/settings.req
-::::::::::::::
-ioc_test:SR_ao.PREC
-ioc_test:SR_ao.SCAN
-ioc_test:SR_ao.DESC
-ioc_test:SR_ao.OUT
-ioc_test:SR_aoDISP.DISP
-ioc_test:SR_bo.IVOV
-::::::::::::::
-ioc_test/req/values_pass0.req
-::::::::::::::
-ioc_test:SR_ao.VAL
-ioc_test:SR_bi.SVAL
-::::::::::::::
-ioc_test/req/values_pass1.req
-::::::::::::::
-ioc_test:SR_longout.VAL
-ioc_test:SR_char_array.VAL
-ioc_test:SR_double_array.VAL
-ioc_test:SR_float_array.VAL
-ioc_test:SR_long_array.VAL
-ioc_test:SR_short_array.VAL
-ioc_test:SR_string_array.VAL
-ioc_test:SR_uchar_array.VAL
-ioc_test:SR_ulong_array.VAL
-ioc_test:SR_ushort_array.VAL
-
-e3-autosave (master)$ more ioc_test/save/settings.sav*
-::::::::::::::
-ioc_test/save/settings.sav
-::::::::::::::
-# autosave R5.3	Automatically generated - DO NOT MODIFY - 191010-162704
-ioc_test:SR_ao.PREC 6
-ioc_test:SR_ao.SCAN 9
-ioc_test:SR_ao.DESC uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-ioc_test:SR_ao.OUT abc:rec PP NMS
-ioc_test:SR_aoDISP.DISP 27
-ioc_test:SR_bo.IVOV 67
-<END>
-::::::::::::::
-ioc_test/save/settings.sav0
-::::::::::::::
-# autosave R5.3	Automatically generated - DO NOT MODIFY - 191010-162704
-ioc_test:SR_ao.PREC 6
-ioc_test:SR_ao.SCAN 9
-ioc_test:SR_ao.DESC uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-ioc_test:SR_ao.OUT abc:rec PP NMS
-ioc_test:SR_aoDISP.DISP 27
-ioc_test:SR_bo.IVOV 67
-<END>
-::::::::::::::
-ioc_test/save/settings.sav1
-::::::::::::::
-# autosave R5.3	Automatically generated - DO NOT MODIFY - 191010-162704
-ioc_test:SR_ao.PREC 6
-ioc_test:SR_ao.SCAN 9
-ioc_test:SR_ao.DESC uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-ioc_test:SR_ao.OUT abc:rec PP NMS
-ioc_test:SR_aoDISP.DISP 27
-ioc_test:SR_bo.IVOV 67
-<END>
-::::::::::::::
-ioc_test/save/settings.sav2
-::::::::::::::
-# autosave R5.3	Automatically generated - DO NOT MODIFY - 191010-162704
-ioc_test:SR_ao.PREC 6
-ioc_test:SR_ao.SCAN 9
-ioc_test:SR_ao.DESC uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-ioc_test:SR_ao.OUT abc:rec PP NMS
-ioc_test:SR_aoDISP.DISP 27
-ioc_test:SR_bo.IVOV 67
-<END>
-::::::::::::::
-ioc_test/save/settings.savB
-::::::::::::::
-# autosave R5.3	Automatically generated - DO NOT MODIFY - 191010-162704
-ioc_test:SR_ao.PREC 6
-ioc_test:SR_ao.SCAN 9
-ioc_test:SR_ao.DESC uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-ioc_test:SR_ao.OUT abc:rec PP NMS
-ioc_test:SR_aoDISP.DISP 27
-ioc_test:SR_bo.IVOV 67
-<END>
-```
-
-* Exit and restart an IOC
-```
-efe358d.proton.20315 > exit
-e3-autosave (master)$ iocsh.bash cmds/as_test.cmd 
-
-```
-
-* Check autosave values
-
-```
-e3-autosave (master)$ bash tools/SR_get.bash > 3
-jhlee@proton: e3-autosave (master)$ cat 3
-ioc_test:SR_aoDISP.DISP        27
-ioc_test:SR_ao.PREC            6
-ioc_test:SR_bo.IVOV            67
-ioc_test:SR_ao.SCAN            .1 second
-ioc_test:SR_ao.VAL             622.1
-ioc_test:SR_ao.DESC            uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi
-ioc_test:SR_ao.OUT             abc:rec PP NMS
-ioc_test:SR_longout            743
-ioc_test:SR_bi.SVAL            5
-ioc_test:SR_char_array 12 117 122 102 102 101 0 0 0 0 0 0 0
-ioc_test:SR_double_array 12 6 67 80 622 743 0 0 0 0 0 0 0
-ioc_test:SR_float_array 12 27 6 67 80 622 5 0 0 0 0 0 0
-ioc_test:SR_long_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-ioc_test:SR_short_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-ioc_test:SR_string_array 12 uuanjwiemsfnjjyzwjlaunhlxonfgyirdackcqi abc def ghi        
-ioc_test:SR_uchar_array 12 27 6 67 80 0 0 0 0 0 0 0 0
-ioc_test:SR_ulong_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-ioc_test:SR_ushort_array 12 27 6 67 80 622 743 0 0 0 0 0 0
-
-e3-autosave (master)$ diff 2 3
-
-```
-
diff --git a/tools/SR_get.bash b/tools/SR_get.bash
deleted file mode 100644
index 0c74fa0b70ff2d6292594ef90b21edefe8926774..0000000000000000000000000000000000000000
--- a/tools/SR_get.bash
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/bash
-#
-#  Copyright (c) 2019  European Spallation Source ERIC
-#
-#  The program is free software: you can redistribute
-#  it and/or modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation, either version 2 of the
-#  License, or any newer version.
-#
-#  This program is distributed in the hope that it will be useful, but WITHOUT
-#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-#  more details.
-#
-#  You should have received a copy of the GNU General Public License along with
-#  this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
-#
-# Author  : Jeong Han Lee
-# email   : jeonghan.lee@gmail.com
-# Date    : Thursday, October 10 13:48:25 CEST 2019
-# version : 0.0.1
-
-declare -gr SC_SCRIPT="$(realpath "$0")"
-declare -gr SC_SCRIPTNAME=${0##*/}
-declare -gr SC_TOP="${SC_SCRIPT%/*}"
-
-GET_CMD="caget"
-
-function get_funct
-{
-    local pv=$1; shift;
-    local sleep_interval=.02
-    ${GET_CMD} ${pv}
-    sleep ${sleep_interval}
-}
-
-
-options="7"
-
-
-
-while getopts "${options}" opt; do
-    case "${opt}" in
-	7) GET_CMD="pvget"     ;;
-	\?)
-	    echo "Invalid option: -$OPTARG" >&2
-	    ;;
-    esac
-done
-shift $((OPTIND-1))
-
-P="$1"
-
-if [ -z $P ]; then
-    P="ioc_test:"
-else
-    P="${P}:"
-fi
-
-if hash ${GET_CMD} 2>/dev/null ; then
-    
-    get_funct ${P}SR_aoDISP.DISP
-    get_funct ${P}SR_ao.PREC
-    get_funct ${P}SR_bo.IVOV
-    get_funct ${P}SR_ao.SCAN
-    get_funct ${P}SR_ao.VAL
-    get_funct ${P}SR_ao.DESC
-    get_funct ${P}SR_ao.OUT
-    get_funct ${P}SR_longout
-    get_funct ${P}SR_bi.SVAL
-    get_funct ${P}SR_char_array
-    get_funct ${P}SR_double_array
-    get_funct ${P}SR_float_array
-    get_funct ${P}SR_long_array
-    get_funct ${P}SR_short_array
-    get_funct ${P}SR_string_array
-    get_funct ${P}SR_uchar_array
-    get_funct ${P}SR_ulong_array
-    get_funct ${P}SR_ushort_array
-else
-    printf "\n>>>> We cannot run $0\n";
-    printf "     because we cannot find $GET_CMD in the system\n"
-    printf "     please source setE3Env.bash first\n"
-    printf "\n"
-    exit;
-fi
diff --git a/tools/SR_put.bash b/tools/SR_put.bash
deleted file mode 100644
index c0e542689857de0910e00d78c7cf4d2798f52b0b..0000000000000000000000000000000000000000
--- a/tools/SR_put.bash
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/bash
-#
-#  Copyright (c) 2019  European Spallation Source ERIC
-#
-#  The program is free software: you can redistribute
-#  it and/or modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation, either version 2 of the
-#  License, or any newer version.
-#
-#  This program is distributed in the hope that it will be useful, but WITHOUT
-#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-#  more details.
-#
-#  You should have received a copy of the GNU General Public License along with
-#  this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
-#
-# Author  : Jeong Han Lee
-# email   : jeonghan.lee@gmail.com
-# Date    : Thursday, October 10 13:49:39 CEST 2019
-# version : 0.0.1
-
-declare -gr SC_SCRIPT="$(realpath "$0")"
-declare -gr SC_SCRIPTNAME=${0##*/}
-declare -gr SC_TOP="${SC_SCRIPT%/*}"
-
-
-function put_funct
-{
-    local pv=$1; shift;
-    local val=$@; 
-    local sleep_interval=.1
-    ${PUT_CMD} ${pv} ${val}
-    sleep ${sleep_interval}
-}
-
-
-declare -a scanlist=("Passive" "Event" "I/O Intr" "10 second" "5 second" "2 second" "1 second" ".5 second" ".2 second" ".1 second")
-
-
-#options="7"
-
-
-PUT_CMD="caput"
-
-
-# while getopts "${options}" opt; do
-#     case "${opt}" in
-# 	7) PUT_CMD="pvput"     ;;
-# 	\?)
-# 	    echo "Invalid option: -$OPTARG" >&2
-# 	    ;;
-#     esac
-# done
-# shift $((OPTIND-1))
-
-P="$1"
-
-if [ -z $P ]; then
-    P="ioc_test:"
-else
-    P="${P}:"
-fi
-
-
-if hash ${PUT_CMD} 2>/dev/null ; then
-    
-    a=$(tr -cd 0-9 </dev/urandom | head -c 2)
-    put_funct ${P}SR_aoDISP.DISP $a
-    #
-    b=$(tr -cd 0-9 </dev/urandom | head -c 2)
-    put_funct ${P}SR_ao.PREC $b
-    #
-    c=$(tr -cd 0-9 </dev/urandom | head -c 2)
-    put_funct ${P}SR_bo.IVOV $c
-    #
-    d=$(tr -cd 0-9 </dev/urandom | head -c 2)
-    size=${#scanlist[@]}
-    index=$(($RANDOM % $size))
-    put_funct ${P}SR_ao.SCAN "${scanlist[$index]}"
-    #
-    e=$(tr -cd 0-9 </dev/urandom | head -c 3)
-    put_funct ${P}SR_ao.VAL $e.1
-    #
-    f=$(tr -cd a-z </dev/urandom | head -c 128)
-    put_funct ${P}SR_ao.DESC $f
-    #
-    put_funct ${P}SR_ao.OUT "abc:rec PP"
-    #
-    g=$(tr -cd 0-9 </dev/urandom | head -c 3)
-    put_funct ${P}SR_longout $g
-    #
-    h=$(tr -cd 0-9 </dev/urandom | head -c 1)
-    put_funct ${P}SR_bi.SVAL $h
-    #
-    i=$(tr -cd a-z </dev/urandom | head -c 5)
-    put_funct -S ${P}SR_char_array "$i"
-    
-    put_funct -a ${P}SR_double_array $a $b $c $d $e $g
-    put_funct -a ${P}SR_float_array $g $a $b $c $d $e $h 
-    put_funct -a ${P}SR_long_array $g $a $b $c $d $e $g
-    put_funct -a ${P}SR_short_array $g $a $b $c $d $e $g
-    put_funct -a ${P}SR_string_array 3 $f abc def ghi
-    put_funct -a ${P}SR_uchar_array $g $a $b $c $d 0 0
-    put_funct -a ${P}SR_ulong_array $g $a $b $c $d $e $g
-    put_funct -a ${P}SR_ushort_array $g $a $b $c $d $e $g
-
-else
-    printf "\n>>>> We cannot run $0\n";
-    printf "     because we cannot find $GET_CMD in the system\n"
-    printf "     please source setE3Env.bash first\n"
-    printf "\n"
-    exit;
-fi
diff --git a/tools/check_autosave_status.bash b/tools/check_autosave_status.bash
deleted file mode 100644
index 912aec31f188f26b956c3dc86d81a47a9497ab76..0000000000000000000000000000000000000000
--- a/tools/check_autosave_status.bash
+++ /dev/null
@@ -1,135 +0,0 @@
-#!/bin/bash
-#
-#  Copyright (c) 2019  European Spallation Source ERIC
-#
-#  The program is free software: you can redistribute
-#  it and/or modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation, either version 2 of the
-#  License, or any newer version.
-#
-#  This program is distributed in the hope that it will be useful, but WITHOUT
-#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-#  more details.
-#
-#  You should have received a copy of the GNU General Public License along with
-#  this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
-#
-# Author  : Jeong Han Lee
-# email   : jeonghan.lee@gmail.com
-# Date    : Thursday, October 10 17:21:08 CEST 2019
-# version : 0.0.1
-
-declare -gr SC_SCRIPT="$(realpath "$0")"
-declare -gr SC_SCRIPTNAME=${0##*/}
-declare -gr SC_TOP="${SC_SCRIPT%/*}"
-
-declare -gr session0="as_test_session0"
-declare -gr session1="as_test_session1"
-
-declare -gr test1="pv_values_at_1"
-declare -gr test2="pv_values_at_2"
-declare -gr test3="pv_values_at_3"
-
-
-TOP=${SC_TOP}/..
-TARGET=${TOP}/.test
-PREFIX=autosaveOutputTOP
-#STARTUP=${TOP}/cmds/as_test.cmd
-STARTUP="${TOP}/cmds/as_auto_test.cmd TARGET=${TARGET} IOCNAME=${PREFIX}"
-
-function iocsh_within_screen
-{
-    local top="$1"; shift;
-    local session_name="$1"; shift;
-    local startup_cmd="$1"; shift;
-    local sleep_time="$1"; shift;
-
-    cat > ${top}/.screenrc <<EOF
-logfile ${top}/output.log
-logfile flush 1
-log on
-logtstamp after 1
-logtstamp on
-EOF
-    
-    screen -c ${top}/.screenrc -dm -L -S ${session_name} /bin/bash -c "${E3_REQUIRE_LOCATION}/bin/iocsh.bash ${startup_cmd}" &
-
-    sleep ${sleep_time}
-    
-    cat ${top}/output.log
-
-    sleep 1
-    
-}
-
-function kill_screen
-{
-    local session_name="$1"; shift;
-    screen -X -S ${session_name} quit
-}
-#
-mkdir -p ${TARGET}
-
-#
-#
-echo ">>> Start IOC ........ "
-iocsh_within_screen ${TARGET} ${session0} "${STARTUP}" "15"
-
-echo ""
-echo ">>> Get, Put, Get PVs"
-
-bash ${SC_TOP}/SR_get.bash "${PREFIX}" > ${TARGET}/${test1}
-echo "${TARGET}/${test1}"
-cat ${TARGET}/${test1}
-bash ${SC_TOP}/SR_put.bash "${PREFIX}"
-bash ${SC_TOP}/SR_get.bash "${PREFIX}" > ${TARGET}/${test2}
-echo "${TARGET}/${test2}"
-cat ${TARGET}/${test2}
-
-echo ""
-echo ">>> Give enough time to the IOC  to do autosave their values"
-#
-# more than lagest one of SETTINGS_PERIOD=5, VALUES_PASS0_PERIOD=5, and VALUES_PASS1_PERIOD=10
-SLEEP_TIME=20
-echo "    Sleeping ..... ${SLEEP_TIME} secs ..... "
-sleep ${SLEEP_TIME}
-
-echo ""
-echo ">>> Killing IOC at ${session0}"
-kill_screen ${session0}
-
-
-echo ""
-echo ">>> Restart IOC"
-iocsh_within_screen ${TARGET} ${session1} "${STARTUP}" "5"
-bash ${SC_TOP}/SR_get.bash "${PREFIX}" > ${TARGET}/${test3}
-echo "${TARGET}/${test3}"
-cat ${TARGET}/${test3}
-
-echo ""
-echo ">>> Killing IOC at ${session1}"
-kill_screen ${session1}
-
-
-echo ""
-echo ">>> Comparing ${test3} with ${test2}"
-cmd="diff ${TARGET}/${test3} ${TARGET}/${test2}"
-echo "- $cmd --------------"
-$cmd
-if [ $? -ne 0 ]; then
-    echo "------------------------------------------------------------------------------------------------------------"
-    echo ""
-    echo ">>>> Ooops! There is something wrong"
-    echo "     Please check \"${TARGET}\" to see ....."
-else
-    echo "------------------------------------------------------------------------------------------------------------"
-    echo ""
-    echo ">>>> Test passed!"
-    echo "     Clearning \"${TARGET}\" ... "
-    rm -rf ${TARGET}
-    echo "     See you later..."
-fi
-
-
-exit