diff --git a/TestON/dependencies/topo-onos4nodeNEW.py b/TestON/dependencies/topo-onos4nodeNEW.py
new file mode 100644
index 0000000..1824e3b
--- /dev/null
+++ b/TestON/dependencies/topo-onos4nodeNEW.py
@@ -0,0 +1,63 @@
+"""Custom topology example
+
+Two directly connected switches plus a host for each switch:
+
+   host --- switch --- switch --- host
+
+Adding the 'topos' dict with a key/value pair to generate our newly defined
+topology enables one to pass in '--topo=mytopo' from the command line.
+"""
+
+from mininet.topo import Topo
+
+class MyTopo( Topo ):
+	"Simple topology example."
+
+	def __init__( self ):
+		"Create custom topo."
+		# Initialize topology
+		Topo.__init__( self )
+
+		# Make the middle triangle	
+		leftSwitch = self.addSwitch( 's1' , dpid = '1000'.zfill(16))
+		rightSwitch = self.addSwitch( 's2' , dpid = '2000'.zfill(16))
+		topSwitch = self.addSwitch( 's3' , dpid = '3000'.zfill(16))
+		lefthost = self.addHost( 'h1' )
+		righthost = self.addHost( 'h2' )
+		tophost = self.addHost( 'h3' )
+		self.addLink( leftSwitch, lefthost )
+		self.addLink( rightSwitch, righthost )
+		self.addLink( topSwitch, tophost )
+
+		self.addLink( leftSwitch, rightSwitch )
+		self.addLink( leftSwitch, topSwitch )
+		self.addLink( topSwitch, rightSwitch )
+
+		# Make aggregation switches
+		agg1Switch = self.addSwitch( 's4', dpid = '1004'.zfill(16) ) 
+		agg2Switch = self.addSwitch( 's5', dpid = '2005'.zfill(16) ) 
+		agg1Host = self.addHost( 'h4' ) 
+		agg2Host = self.addHost( 'h5' ) 
+
+		self.addLink( agg1Switch, agg1Host )
+		self.addLink( agg2Switch, agg2Host )
+
+		self.addLink( agg2Switch, rightSwitch )
+		self.addLink( agg1Switch, leftSwitch )
+
+		# Make two aggregation fans
+		for i in range(10):
+			num=str(i+6)
+			switch = self.addSwitch( 's' + num, dpid = ('10' + num.zfill(2) ).zfill(16))
+			host = self.addHost( 'h' + num ) 
+			self.addLink( switch, host ) 
+			self.addLink( switch, agg1Switch ) 
+
+		for i in range(10):
+			num=str(i+31)
+			switch = self.addSwitch( 's' + num, dpid = ('20' + num.zfill(2)).zfill(16) )
+			host = self.addHost( 'h' + num ) 
+			self.addLink( switch, host ) 
+			self.addLink( switch, agg2Switch ) 
+
+topos = { 'mytopo': ( lambda: MyTopo() ) }
