diff --git a/ndn/ndn_application.py b/ndn/ndn_application.py
new file mode 100644
index 0000000..665a0ba
--- /dev/null
+++ b/ndn/ndn_application.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+import os
+
+class NdnApplication:
+    def __init__(self, node):
+        self.node = node
+        self.isRunning = False
+
+    def start(self, command):
+        if self.isRunning is True:
+            try:
+                os.kill(int(self.processId), 0)
+            except OSError:
+                self.isRunning = False
+
+        if self.isRunning is False:
+            self.node.cmd(command)
+            self.processId = self.node.cmd("echo $!")[:-1]
+
+            self.isRunning = True
+
+    def stop(self):
+        if self.isRunning:
+            self.node.cmd("sudo kill %s" % self.processId)
+
+            self.isRunning = False
diff --git a/ndn/nfd.py b/ndn/nfd.py
index 817e8d9..4caceac 100644
--- a/ndn/nfd.py
+++ b/ndn/nfd.py
@@ -1,14 +1,14 @@
 #!/usr/bin/env python
 
 import time
+from ndn.ndn_application import NdnApplication
 
-class Nfd:
+class Nfd(NdnApplication):
     STRATEGY_BEST_ROUTE_V3 = "best-route/%FD%03"
     STRATEGY_NCC = "ncc"
 
     def __init__(self, node):
-        self.node = node
-        self.isRunning = False
+        NdnApplication.__init__(self, node)
 
         self.logLevel = node.params["params"].get("nfd-log-level", "NONE")
 
@@ -43,25 +43,8 @@
         node.cmd("export HOME=%s" % self.homeFolder)
 
     def start(self):
-        if self.isRunning is True:
-            try:
-                os.kill(int(self.processId), 0)
-            except OSError:
-                self.isRunning = False
-
-        if self.isRunning is False:
-            self.node.cmd("sudo nfd --config %s 2>> %s &" % (self.confFile, self.logFile))
-            self.processId = self.node.cmd("echo $!")[:-1]
-
-            time.sleep(2)
-
-            self.isRunning = True
-
-    def stop(self):
-        if self.isRunning is True:
-            self.node.cmd("sudo kill %s" % self.processId)
-
-            self.isRunning = False
+        NdnApplication.start(self, "sudo nfd --config %s 2>> %s &" % (self.confFile, self.logFile))
+        time.sleep(2)
 
     def setStrategy(self, name, strategy):
         self.node.cmd("nfdc set-strategy %s ndn:/localhost/nfd/strategy/%s" % (name, strategy))
diff --git a/ndn/nlsr.py b/ndn/nlsr.py
index 1807374..d1e1d3c 100644
--- a/ndn/nlsr.py
+++ b/ndn/nlsr.py
@@ -1,12 +1,11 @@
 #!/usr/bin/env python
-import os
+from ndn.ndn_application import NdnApplication
 
-class Nlsr:
+class Nlsr(NdnApplication):
     def __init__(self, node):
-        self.node = node
+        NdnApplication.__init__(self, node)
         self.routerName = "/%sC1.Router/cs/%s" % ('%', node.name)
         self.confFile = "/tmp/%s/nlsr.conf" % node.name
-        self.isRunning = False
 
         # Make directory for log file
         self.logDir = "/tmp/%s/log" % node.name
@@ -19,23 +18,7 @@
         node.cmd("sudo sed -i 's|prefix .*netlab|prefix /ndn/edu/%s|g' %s" % (node.name, self.confFile))
 
     def start(self):
-        if self.isRunning is True:
-            try:
-                os.kill(int(self.processId), 0)
-            except OSError:
-                self.isRunning = False
-
-        if self.isRunning is False: 
-            self.node.cmd("nlsr -d")
-            self.processId = self.node.cmd("echo $!")[:-1]
-
-            self.isRunning = True
-
-    def stop(self):
-        if self.isRunning:
-            self.node.cmd("sudo kill %s" % self.processId)
-
-            self.isRunning = False
+        NdnApplication.start(self, "nlsr -d")
 
 class NlsrConfigGenerator:
 
