diff --git a/__main__.py b/__main__.py
index 8abfd4f40a7c5035097e7c389dc42b2dd0b96eb7..5cf332ad0b48358311699c7e2fd8c7de200d5d7c 100755
--- a/__main__.py
+++ b/__main__.py
@@ -93,7 +93,7 @@ if submodule not in submodules:
     raise NameError(submodule)
 
 if kwargs['batch'] != 0:
-    batch_number = kwargs['batch']
+    batch_level = kwargs['batch']
     import re
     from util import batchjob
     destination = submodule
@@ -101,7 +101,8 @@ if kwargs['batch'] != 0:
     command = command.replace('--batch ', '')
     for bs in re.findall('-b* ', command):
         command = command.replace(bs, '')
-    batchjob.main(destination, command, batch_number, args)
+    is_test = vars(args)['test'] 
+    batchjob.main(destination, command, batch_level, is_test)
 else:
     submodule = importlib.import_module(submodule)
     submodule.main(kwargs)
diff --git a/gen_signal/__init__.py b/gen_signal/__init__.py
index c946bdd6321626f96e782c93939f109238d6371e..e90637adb98bb86c2a46f352f5b38b62b02e413c 100644
--- a/gen_signal/__init__.py
+++ b/gen_signal/__init__.py
@@ -5,12 +5,18 @@ def main(kwargs):
 
     if label == 'signal':
         if scan_number != None:
-            if job_number != None:
-                from . import gen_signal_scan
-                gen_signal_scan.job_main(kwargs)
-            else:
-                from . import gen_signal_scan
-                gen_signal_scan.main(kwargs)
+            from util import batchjob
+            scan_number = kwargs['scan']
+            det_name = kwargs['det_name']
+            for i in range(scan_number):
+                args = ['gen_signal', '--job', str(i), det_name]
+                command = ' '.join(args) 
+                print(command)
+                destination = 'gen_signal'
+                batchjob.main(destination, command, 1, is_test=False)
+        elif job_number != None:
+            from . import gen_signal_scan
+            gen_signal_scan.main(kwargs)
         else:
             from . import gen_signal_main
             gen_signal_main.main(kwargs)
\ No newline at end of file
diff --git a/gen_signal/gen_signal_scan.py b/gen_signal/gen_signal_scan.py
index aa09bb5852ba313c2a5cf4affcd50ee3e3e9e39d..503c06f6c5a83e964afff6f2044e26153e25fd48 100644
--- a/gen_signal/gen_signal_scan.py
+++ b/gen_signal/gen_signal_scan.py
@@ -26,7 +26,6 @@ from . import draw_save
 from util.output import output
 
 
-
 def batch_loop(my_d, my_f, my_g4p, amplifier, g4_seed, total_events, instance_number):
     """
     Description:
@@ -61,7 +60,7 @@ def batch_loop(my_d, my_f, my_g4p, amplifier, g4_seed, total_events, instance_nu
     detection_efficiency =  effective_number/(end_n-start_n) 
     print("detection_efficiency=%s"%detection_efficiency)
 
-def job_main(kwargs):
+def main(kwargs):
     det_name = kwargs['det_name']
     my_d = bdv.Detector(det_name)
     
@@ -95,9 +94,3 @@ def job_main(kwargs):
     batch_loop(my_d, my_f, my_g4p, amplifier, g4_seed, total_events, instance_number)
     del my_g4p
 
-def main(kwargs):
-    scan_number = kwargs['scan']
-    for i in range(scan_number):
-        command = ' '.join(['python3', 'raser', '-b', 'gen_signal', '--job', str(i)] + sys.argv[3:]) # 'raser', '-sh', 'gen_signal'
-        print(command)
-        subprocess.run([command], shell=True)
\ No newline at end of file
diff --git a/util/batchjob.py b/util/batchjob.py
index 4f2ae9a236522a9137668fd84ba92043e6ccfc3b..00dcee0b4e49f28d47f85ecca7a98ba278845282 100644
--- a/util/batchjob.py
+++ b/util/batchjob.py
@@ -15,18 +15,17 @@ import pwd
 
 from util.output import create_path
 
-def main(destination_subfolder, command, batch_number, args):
-    test = vars(args)['test'] 
+def main(destination_subfolder, command, batch_level, is_test):
     stat_info = os.stat("./")
     uid = stat_info.st_uid
     gid = stat_info.st_gid
     user = pwd.getpwuid(uid)[0]
     group = grp.getgrgid(gid)[0]
     
-    if batch_number < 0:
-        mem = 10 * (-batch_number)
-    elif batch_number > 0:
-        mem = 5000 * batch_number
+    if batch_level < 0:
+        mem = 10 * (-batch_level)
+    elif batch_level > 0:
+        mem = 5000 * batch_level
  
     create_path("./output/{}/jobs".format(destination_subfolder))
     command_name = command.replace(" ","_").replace("/","_")
@@ -44,7 +43,7 @@ def main(destination_subfolder, command, batch_number, args):
                 + IMGFILE + " " \
                 + "python3 -mdevsim.umfpack.umfshim raser/__main__.py"
     gen_job(jobfile_name, run_code=raser_shell+' '+command)
-    submit_job(jobfile_name, destination_subfolder, group, mem, test=test)
+    submit_job(jobfile_name, destination_subfolder, group, mem, is_test=is_test)
 
 def gen_job(jobfile_name, run_code):
     jobfile = open(jobfile_name, "w")
@@ -52,15 +51,15 @@ def gen_job(jobfile_name, run_code):
     jobfile.close()
     print("Generate job file: ", jobfile_name)
 
-def submit_job(jobfile_name, destination_subfolder, group, mem, test=False):
+def submit_job(jobfile_name, destination_subfolder, group, mem, is_test=False):
     print("Submit job file: ", jobfile_name)
     os.chmod(jobfile_name, 0o755)
     command = "hep_sub -o ./output/{}/jobs -e ./output/{}/jobs {} -mem {} -g {}".format(
         destination_subfolder, destination_subfolder, jobfile_name, mem, group)
-    run_cmd(command, test)
+    run_cmd(command, is_test)
 
-def run_cmd(command, test=False):
-    if test:
+def run_cmd(command, is_test=False):
+    if is_test:
         sys.stdout.write(command+'\n')
         return 
     subprocess.run([command],shell=True)