diff --git a/ndn/experiments/arbitrary_arguments_experiment.py b/ndn/experiments/arbitrary_arguments_experiment.py
new file mode 100644
index 0000000..159e2a7
--- /dev/null
+++ b/ndn/experiments/arbitrary_arguments_experiment.py
@@ -0,0 +1,32 @@
+from ndn.experiments.experiment import Experiment
+
+class AbitraryArgumentsExperiment(Experiment):
+    def __init__(self, args):
+        Experiment.__init__(self, args)
+        if "ds" in self.arbArgs:
+            self.ds = int(self.arbArgs["ds"])
+        else:
+            self.ds = 1000
+
+        if "logging" in self.arbArgs:
+            self.logging = self.arbArgs["logging"]
+            if self.logging == "true":
+                self.logging = True
+            else:
+                self.logging = False
+        else:
+            self.logging = False
+
+    def setup(self):
+        pass
+
+    def run(self):
+        print("Argument ds: {}".format(self.ds))
+        print("Argument logging: {}".format(self.logging))
+
+    @staticmethod
+    def arguments():
+        ''' This will be printed in sudo minindn --list-experiments'''
+        return "--ds <num-data-streams> --logging <true/false>"
+
+Experiment.register("arbitrary-arguments", AbitraryArgumentsExperiment)
\ No newline at end of file
diff --git a/ndn/experiments/experiment.py b/ndn/experiments/experiment.py
index 4be2aac..23efebd 100644
--- a/ndn/experiments/experiment.py
+++ b/ndn/experiments/experiment.py
@@ -36,6 +36,7 @@
         self.strategy = args["strategy"]
         self.pctTraffic = args["pctTraffic"]
         self.nlsrSecurity = args["nlsrSecurity"]
+        self.arbArgs = args["arbArgs"]
 
         # Used to restart pings on the recovered node if any
         self.pingedDict = {}
