diff --git a/benchmark/scripts/04_22_ci_gru.py b/benchmark/scripts/04_22_ci_gru.py
new file mode 100644
index 0000000000000000000000000000000000000000..5c4db6bd5ce8f713f8dbc6ea829176454e4ce28a
--- /dev/null
+++ b/benchmark/scripts/04_22_ci_gru.py
@@ -0,0 +1,46 @@
+import torchvision.datasets as datasets
+import torchvision
+import torch
+
+import MetaAugment.child_networks as cn
+import MetaAugment.autoaugment_learners as aal
+
+from .util_04_22 import *
+
+
+# aa_learner config
+config = {
+        'sp_num' : 3,
+        'learning_rate' : 1e-1,
+        'toy_flag' : False,
+#         'toy_flag' : True,
+#         'toy_size' : 0.001,
+        'batch_size' : 32,
+        'max_epochs' : 100,
+        'early_stop_num' : 10,
+        }
+
+
+# CIFAR10 with LeNet
+train_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
+                        train=True, download=True, transform=None)
+test_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
+                        train=False, download=True, 
+                        transform=torchvision.transforms.ToTensor())
+child_network_architecture = cn.LeNet(
+                                    img_height=32,
+                                    img_width=32,
+                                    num_labels=10,
+                                    img_channels=3
+                                    )
+
+
+# gru
+run_benchmark(
+    save_file='./benchmark/pickles/04_22_cf_ln_gru',
+    train_dataset=train_dataset,
+    test_dataset=test_dataset,
+    child_network_architecture=child_network_architecture,
+    agent_arch=aal.gru_learner,
+    config=config,
+    )
\ No newline at end of file
diff --git a/benchmark/scripts/04_22_ci_rs.py b/benchmark/scripts/04_22_ci_rs.py
new file mode 100644
index 0000000000000000000000000000000000000000..b98c25fb7826918cfa4f1e6cdb5dc1484cd9c662
--- /dev/null
+++ b/benchmark/scripts/04_22_ci_rs.py
@@ -0,0 +1,46 @@
+import torchvision.datasets as datasets
+import torchvision
+import torch
+
+import MetaAugment.child_networks as cn
+import MetaAugment.autoaugment_learners as aal
+
+from .util_04_22 import *
+
+
+# aa_learner config
+config = {
+        'sp_num' : 3,
+        'learning_rate' : 1e-1,
+        'toy_flag' : False,
+#         'toy_flag' : True,
+#         'toy_size' : 0.001,
+        'batch_size' : 32,
+        'max_epochs' : 100,
+        'early_stop_num' : 10,
+        }
+
+
+# CIFAR10 with LeNet
+train_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
+                        train=True, download=True, transform=None)
+test_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
+                        train=False, download=True, 
+                        transform=torchvision.transforms.ToTensor())
+child_network_architecture = cn.LeNet(
+                                    img_height=32,
+                                    img_width=32,
+                                    num_labels=10,
+                                    img_channels=3
+                                    )
+
+
+# rs
+run_benchmark(
+    save_file='./benchmark/pickles/04_22_cf_ln_rs',
+    train_dataset=train_dataset,
+    test_dataset=test_dataset,
+    child_network_architecture=child_network_architecture,
+    agent_arch=aal.randomsearch_learner,
+    config=config,
+    )
diff --git a/benchmark/scripts/04_22_fm_gru.py b/benchmark/scripts/04_22_fm_gru.py
new file mode 100644
index 0000000000000000000000000000000000000000..227918517fef504b8e5b27aaab354c3c2366e1c8
--- /dev/null
+++ b/benchmark/scripts/04_22_fm_gru.py
@@ -0,0 +1,41 @@
+import torchvision.datasets as datasets
+import torchvision
+import torch
+
+import MetaAugment.child_networks as cn
+import MetaAugment.autoaugment_learners as aal
+
+from .util_04_22 import *
+
+
+# aa_learner config
+config = {
+        'sp_num' : 3,
+        'learning_rate' : 1e-1,
+        'toy_flag' : False,
+#         'toy_flag' : True,
+#         'toy_size' : 0.001,
+        'batch_size' : 32,
+        'max_epochs' : 100,
+        'early_stop_num' : 10,
+        }
+
+
+# FashionMNIST with SimpleNet
+train_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/train',
+                            train=True, download=True, transform=None)
+test_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/test', 
+                        train=False, download=True,
+                        transform=torchvision.transforms.ToTensor())
+child_network_architecture = cn.SimpleNet
+
+
+# gru
+run_benchmark(
+    save_file='./benchmark/pickles/04_22_fm_sn_gru.pkl',
+    train_dataset=train_dataset,
+    test_dataset=test_dataset,
+    child_network_architecture=child_network_architecture,
+    agent_arch=aal.gru_learner,
+    config=config,
+    )
\ No newline at end of file
diff --git a/benchmark/scripts/04_22_fm_rs.py b/benchmark/scripts/04_22_fm_rs.py
new file mode 100644
index 0000000000000000000000000000000000000000..33a4b7b26cd4211bdc7b241c0370fc5b5f1abe59
--- /dev/null
+++ b/benchmark/scripts/04_22_fm_rs.py
@@ -0,0 +1,41 @@
+import torchvision.datasets as datasets
+import torchvision
+import torch
+
+import MetaAugment.child_networks as cn
+import MetaAugment.autoaugment_learners as aal
+
+from .util_04_22 import *
+
+
+# aa_learner config
+config = {
+        'sp_num' : 3,
+        'learning_rate' : 1e-1,
+        'toy_flag' : False,
+#         'toy_flag' : True,
+#         'toy_size' : 0.001,
+        'batch_size' : 32,
+        'max_epochs' : 100,
+        'early_stop_num' : 10,
+        }
+
+
+# FashionMNIST with SimpleNet
+train_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/train',
+                            train=True, download=True, transform=None)
+test_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/test', 
+                        train=False, download=True,
+                        transform=torchvision.transforms.ToTensor())
+child_network_architecture = cn.SimpleNet
+
+
+# rs
+run_benchmark(
+    save_file='./benchmark/pickles/04_22_fm_sn_rs.pkl',
+    train_dataset=train_dataset,
+    test_dataset=test_dataset,
+    child_network_architecture=child_network_architecture,
+    agent_arch=aal.randomsearch_learner,
+    config=config,
+    )
\ No newline at end of file
diff --git a/benchmark/scripts/04_22_gru_rs.py b/benchmark/scripts/04_22_gru_rs.py
deleted file mode 100644
index c3606347902b354a53a236ce641762109bd29aa3..0000000000000000000000000000000000000000
--- a/benchmark/scripts/04_22_gru_rs.py
+++ /dev/null
@@ -1,137 +0,0 @@
-import torchvision.datasets as datasets
-import torchvision
-import torch
-
-import MetaAugment.child_networks as cn
-import MetaAugment.autoaugment_learners as aal
-
-from pathlib import Path
-
-"""
-testing gru_learner and randomsearch_learner on
-
-  fashionmnist with simple net
-
- and 
-
-  cifar10 with lenet
-
-"""
-if torch.cuda.is_available():
-    device = torch.device('cuda')
-else:
-    device = torch.device('cpu')
-
-
-def run_benchmark(
-    save_file,
-    total_iter,
-    train_dataset,
-    test_dataset,
-    child_network_architecture,
-    agent_arch,
-    config,
-    ):
-    try:
-        # try to load agent
-        with open(save_file, 'rb') as f:
-            agent = torch.load(f, map_location=device)
-    except FileNotFoundError:
-        # if agent hasn't been saved yet, initialize the agent
-        agent = agent_arch(**config)
-
-
-    # if history is not length total_iter yet(if total_iter
-    # different policies haven't been tested yet), keep running
-    while len(agent.history)<total_iter:
-        print(f'{len(agent.history)} / {total_iter}')
-        # run 1 iteration (test one new policy and update the GRU)
-        agent.learn(
-                    train_dataset=train_dataset,
-                    test_dataset=test_dataset,
-                    child_network_architecture=child_network_architecture,
-                    iterations=1
-                    )
-        # save agent every iteration
-        with open(save_file, 'wb+') as f:
-            torch.save(agent, f)
-
-    print('run_benchmark closing')
-
-
-# aa_learner config
-config = {
-        'sp_num' : 3,
-        'learning_rate' : 1e-1,
-        'toy_flag' : False,
-#         'toy_flag' : True,
-#         'toy_size' : 0.001,
-        'batch_size' : 32,
-        'max_epochs' : 100,
-        'early_stop_num' : 10,
-        }
-total_iter=150
-
-
-# FashionMNIST with SimpleNet
-train_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/train',
-                            train=True, download=True, transform=None)
-test_dataset = datasets.FashionMNIST(root='./datasets/fashionmnist/test', 
-                        train=False, download=True,
-                        transform=torchvision.transforms.ToTensor())
-child_network_architecture = cn.SimpleNet
-
-
-# gru
-run_benchmark(
-    save_file='./benchmark/pickles/04_22_fm_sn_gru.pkl',
-    total_iter=total_iter,
-    train_dataset=train_dataset,
-    test_dataset=test_dataset,
-    child_network_architecture=child_network_architecture,
-    agent_arch=aal.gru_learner,
-    config=config,
-    )
-
-# rs
-run_benchmark(
-    save_file='./benchmark/pickles/04_22_fm_sn_rs.pkl',
-    total_iter=total_iter,
-    train_dataset=train_dataset,
-    test_dataset=test_dataset,
-    child_network_architecture=child_network_architecture,
-    agent_arch=aal.randomsearch_learner,
-    config=config,
-    )
-
-
-# CIFAR10 with LeNet
-train_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
-                        train=True, download=True, transform=None)
-test_dataset = datasets.CIFAR10(root='./datasets/cifar10/train',
-                        train=False, download=True, 
-                        transform=torchvision.transforms.ToTensor())
-child_network_architecture = cn.SimpleNet
-
-
-# gru
-run_benchmark(
-    save_file='./benchmark/pickles/04_22_cf_ln_gru',
-    total_iter=total_iter,
-    train_dataset=train_dataset,
-    test_dataset=test_dataset,
-    child_network_architecture=child_network_architecture,
-    agent_arch=aal.gru_learner,
-    config=config,
-    )
-
-# rs
-run_benchmark(
-    save_file='./benchmark/pickles/04_22_cf_ln_rs',
-    total_iter=total_iter,
-    train_dataset=train_dataset,
-    test_dataset=test_dataset,
-    child_network_architecture=child_network_architecture,
-    agent_arch=aal.randomsearch_learner,
-    config=config,
-    )
diff --git a/benchmark/scripts/util_04_22.py b/benchmark/scripts/util_04_22.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e39fdd69cef06f52e48d92136e8f617b85dfaf8
--- /dev/null
+++ b/benchmark/scripts/util_04_22.py
@@ -0,0 +1,59 @@
+import torchvision.datasets as datasets
+import torchvision
+import torch
+
+import MetaAugment.child_networks as cn
+import MetaAugment.autoaugment_learners as aal
+
+
+
+"""
+testing gru_learner and randomsearch_learner on
+
+  fashionmnist with simple net
+
+ and 
+
+  cifar10 with lenet
+
+"""
+if torch.cuda.is_available():
+    device = torch.device('cuda')
+else:
+    device = torch.device('cpu')
+
+
+def run_benchmark(
+    save_file,
+    train_dataset,
+    test_dataset,
+    child_network_architecture,
+    agent_arch,
+    config,
+    total_iter=150,
+    ):
+    try:
+        # try to load agent
+        with open(save_file, 'rb') as f:
+            agent = torch.load(f, map_location=device)
+    except FileNotFoundError:
+        # if agent hasn't been saved yet, initialize the agent
+        agent = agent_arch(**config)
+
+
+    # if history is not length total_iter yet(if total_iter
+    # different policies haven't been tested yet), keep running
+    while len(agent.history)<total_iter:
+        print(f'{len(agent.history)} / {total_iter}')
+        # run 1 iteration (test one new policy and update the GRU)
+        agent.learn(
+                    train_dataset=train_dataset,
+                    test_dataset=test_dataset,
+                    child_network_architecture=child_network_architecture,
+                    iterations=1
+                    )
+        # save agent every iteration
+        with open(save_file, 'wb+') as f:
+            torch.save(agent, f)
+
+    print('run_benchmark closing')
\ No newline at end of file