diff --git a/examples/ip_rounting_experiment.py b/examples/ip_rounting_experiment.py
index a6a82c0..d33e51a 100644
--- a/examples/ip_rounting_experiment.py
+++ b/examples/ip_rounting_experiment.py
@@ -50,4 +50,4 @@
 
     ndn.net.pingAll()
 
-    ndn.net.stop()
+    ndn.stop()
diff --git a/minindn/minindn.py b/minindn/minindn.py
index 9921fe6..9a94407 100644
--- a/minindn/minindn.py
+++ b/minindn/minindn.py
@@ -27,6 +27,8 @@
 import os
 import configparser
 from subprocess import call, check_output
+import shutil
+import glob
 
 from mininet.topo import Topo
 from mininet.net import Mininet
@@ -35,6 +37,7 @@
 from mininet.util import ipStr, ipParse
 from mininet.log import info, error
 
+
 class Minindn(object):
     """ This class provides the following features to the user:
         1) Wrapper around Mininet object with option to pass topology directly
@@ -95,7 +98,7 @@
         try:
             Minindn.ndnSecurityDisabled = '/dummy/KEY/-%9C%28r%B8%AA%3B%60' in \
                                           check_output('ndnsec-get-default -k'.split()). \
-                                          decode('utf-8').split('\n')
+                                              decode('utf-8').split('\n')
             info('Dummy key chain patch is installed in ndn-cxx. Security will be disabled.\n')
         except:
             pass
@@ -146,7 +149,7 @@
         for item in items:
             name = item[0].split(':')[0]
             if item[1] in coordinates:
-                error("FATAL: Duplicate Coordinate, \"{}\" used by multiple nodes\n" \
+                error("FATAL: Duplicate Coordinate, \'{}\' used by multiple nodes\n" \
                      .format(item[1]))
                 sys.exit(1)
             coordinates.append(item[1])
@@ -195,6 +198,12 @@
             cleanup()
         self.net.stop()
 
+        if self.resultDir is not None:
+            info("Moving results to \'{}\'\n".format(self.resultDir))
+            os.system("mkdir -p {}".format(self.resultDir))
+            for file in glob.glob('{}/*'.format(self.workDir)):
+                shutil.move(file, self.resultDir)
+
     @staticmethod
     def cleanUp():
         devnull = open(os.devnull, 'w')
