diff --git a/TestON/tests/FuncIntent/Dependency/FuncIntentFunction.py b/TestON/tests/FuncIntent/Dependency/FuncIntentFunction.py
index 3c6f559..f6996bb 100644
--- a/TestON/tests/FuncIntent/Dependency/FuncIntentFunction.py
+++ b/TestON/tests/FuncIntent/Dependency/FuncIntentFunction.py
@@ -106,16 +106,73 @@
     stepResult = main.TRUE
     global itemName
     itemName = item[ 'name' ]
-    ingress = item[ 'ingress' ]
-    egress = item[ 'egress' ]
+    h1Name = item[ 'host1' ][ 'name' ]
+    h2Name = item[ 'host2' ][ 'name' ]
+    ingressDevice = item[ 'ingressDevice' ]
+    egressDevice = item[ 'egressDevice' ]
     option = item[ 'option' ]
     sw1 = item[ 'link' ][ 'switch1' ]
     sw2 = item[ 'link' ][ 'switch2' ]
     expectLink = item[ 'link' ][ 'expect' ]
     intentsId = []
+    
+    # Assign options to variables
+    ingressPort = item.get( 'ingressPort' )
+    egressPort = item.get( 'egressPort' )
+    ethType = option.get( 'ethType' )
+    ethSrc = option.get( 'ethSrc' )
+    ethDst = option.get( 'ethDst' )
+    bandwidth = option.get( 'bandwidth' )
+    lambdaAlloc = option.get( 'lambdaAlloc' )
+    ipProto = option.get( 'ipProto' )
+    ipSrc = option.get( 'ipSrc' )
+    ipDst = option.get( 'ipDst' )
+    tcpSrc = option.get( 'tcpSrc' )
+    tcpDst = option.get( 'tcpDst' )
 
-    print 'OPTIONS ', option
-    return main.TRUE
+    if ingressPort == None:
+        ingressPort = ""
+    if egressPort == None:
+        egressPort = ""
+    if ethType == None:
+        ethType = ""
+    if ethSrc == None:
+        ethSrc = ""
+    if ethDst == None:
+        ethDst = ""
+    if bandwidth == None:
+        bandwidth = ""
+    if lambdaAlloc == None:
+        lambdaAlloc = False
+    if ipProto == None:
+        ipProto = ""
+    if ipSrc == None:
+        ipSrc = ""
+    if ipDst == None:
+        ipDst = ""
+    if tcpSrc == None:
+        tcpSrc = ""
+    if tcpDst == None:
+        tcpDst = ""
+
+    """
+    print 'ethType: ', ethType
+    print 'ethSrc: ', ethSrc
+    print 'ethDst: ', ethDst
+    print 'bandwidth', bandwidth
+    print 'lambdaAlloc: ', lambdaAlloc
+    print 'ipProto: ', ipProto
+    print 'ipSrc: ', ipSrc
+    print 'ipDst:', ipDst
+    print 'tcpSrc: ', tcpSrc
+    print 'tcpDst: ', tcpDst
+    """
+    addedOption = ""
+    for i in range( len( option ) ):
+        addedOption = addedOption + option.keys()[ i ] + " = " + \
+                      option.values()[ i ] + "\n"
+    main.log.info( itemName + ": Printing added options...\n" + addedOption )
+
     pingResult = main.TRUE
     intentResult = main.TRUE
     flowResult = main.TRUE
@@ -123,21 +180,39 @@
     linkDownResult = main.TRUE
     linkUpResult = main.TRUE
 
-    # Discover hosts using arping
-    main.log.info( itemName + ": Discover host using arping" )
-    main.Mininet1.arping( host=h1Name )
-    main.Mininet1.arping( host=h2Name )
-    host1 = main.CLIs[ 0 ].getHost( mac=h1Mac )
-    host2 = main.CLIs[ 0 ].getHost( mac=h2Mac )
-
-    # Adding host intents
+    # Adding bidirectional point  intents
     main.log.info( itemName + ": Adding host intents" )
-    intent1 = main.CLIs[ 0 ].addHostIntent( hostIdOne=h1Id,
-                                           hostIdTwo=h2Id )
+    intent1 = main.CLIs[ 0 ].addPointIntent( ingressDevice=ingressDevice,
+                                             egressDevice=egressDevice,
+                                             portIngress=ingressPort,
+                                             portEgress=egressPort,
+                                             ethType=ethType,
+                                             ethSrc=ethSrc,
+                                             ethDst=ethDst,
+                                             bandwidth=bandwidth,
+                                             lambdaAlloc=lambdaAlloc,
+                                             ipProto=ipProto,
+                                             ipSrc=ipSrc,
+                                             ipDst=ipDst,
+                                             tcpSrc=tcpSrc,
+                                             tcpDst=tcpDst )
+
     intentsId.append( intent1 )
     time.sleep( 5 )
-    intent2 = main.CLIs[ 0 ].addHostIntent( hostIdOne=h2Id,
-                                           hostIdTwo=h1Id )
+    intent2 = main.CLIs[ 0 ].addPointIntent( ingressDevice=egressDevice,
+                                             egressDevice=ingressDevice,
+                                             portIngress=egressPort,
+                                             portEgress=ingressPort,
+                                             ethType=ethType,
+                                             ethSrc=ethDst,
+                                             ethDst=ethSrc,
+                                             bandwidth=bandwidth,
+                                             lambdaAlloc=lambdaAlloc,
+                                             ipProto=ipProto,
+                                             ipSrc=ipDst,
+                                             ipDst=ipSrc,
+                                             tcpSrc=tcpDst,
+                                             tcpDst=tcpSrc )
     intentsId.append( intent2 )
 
     # Check intents state
diff --git a/TestON/tests/FuncIntent/FuncIntent.params b/TestON/tests/FuncIntent/FuncIntent.params
index 8a1ce1d..14bda6d 100755
--- a/TestON/tests/FuncIntent/FuncIntent.params
+++ b/TestON/tests/FuncIntent/FuncIntent.params
@@ -1,6 +1,6 @@
 <PARAMS>
 
-    <testcases>10,11,12,1002</testcases>
+    <testcases>10,11,12,1001,1002</testcases>
 
     <SCALE>1,3</SCALE>
     <availableNodes>3</availableNodes>
diff --git a/TestON/tests/FuncIntent/FuncIntent.py b/TestON/tests/FuncIntent/FuncIntent.py
index c92f552..2ffb25f 100644
--- a/TestON/tests/FuncIntent/FuncIntent.py
+++ b/TestON/tests/FuncIntent/FuncIntent.py
@@ -346,7 +346,10 @@
         import re
         """
             Create your item(s) here
-            item = { 'name':'', 'ingress':'' , 'egress':'',
+            item = { 'name':'', 'host1': { 'name': '' },
+                     'host2': { 'name': '' },
+                     'ingressDevice':'' , 'egressDevice':'',
+                     'ingressPort':'', 'egressPort':'',
                      'option':{ 'ethType':'', 'ethSrc':'', 'ethDst':'' } ,
                      'link': { 'switch1': '', 'switch2':'', 'expect':'' } }
 
@@ -360,20 +363,41 @@
         assert main.numSwitch, "Placed the total number of switch topology in \
                                 main.numSwitch"
 
-
-        ipv4 = { 'name':'IPV4', 'ingress':'0000000000000005/1' ,
-                 'egress':'0000000000000006/1', 'option':
+        ipv4 = { 'name':'IPV4', 'ingressDevice':'of:0000000000000005/1' ,
+                 'host1': { 'name': 'h1' }, 'host2': { 'name': 'h9' },
+                 'egressDevice':'of:0000000000000006/1', 'option':
                  { 'ethType':'IPV4', 'ethSrc':'00:00:00:00:00:01',
                    'ethDst':'00:00:00:00:00:09' }, 'link': { 'switch1':'s5',
                    'switch2':'s2', 'expect':'18' } }
 
-        dualStack1 = { 'name':'DUALSTACK1', 'ingress':'0000000000000005/3' ,
-                 'egress':'0000000000000006/3', 'option':
-                 { 'ethType':'IPV4', 'ethSrc':'00:00:00:00:00:03',
-                   'ethDst':'00:00:00:00:00:0B' }, 'link': { 'switch1':'s5',
-                   'switch2':'s2', 'expect':'18' } }
+        """
+        ipv4 = { 'name':'IPV4', 'ingressDevice':'of:0000000000000005/1' ,
+                 'host1': { 'name': 'h1' }, 'host2': { 'name': 'h9' },
+                 'egressDevice':'of:0000000000000006/1', 'option':
+                 { 'ethType':'IPV4', 'ethSrc':'00:00:00:00:00:01' },
+                 'link': { 'switch1':'s5', 'switch2':'s2', 'expect':'18' } }
+        """ 
+        dualStack1 = { 'name':'IPV4', 'ingressDevice':'0000000000000005/3' ,
+                       'host1': { 'name': 'h3' }, 'host2': { 'name': 'h11' },
+                       'egressDevice':'0000000000000006/3', 'option':
+                       { 'ethType':'IPV4', 'ethSrc':'00:00:00:00:00:03',
+                       'ethDst':'00:00:00:00:00:0B' }, 'link': { 'switch1':'s5',
+                       'switch2':'s2', 'expect':'18' } }
 
-        main.wrapper.addPointIntent( main, ipv4 )
+
+        main.case( "Add point intents between 2 devices" )
+
+        stepResult = main.TRUE
+        main.step( ipv4[ 'name' ] + ": Add point intents between " +
+                   ipv4[ 'host1' ][ 'name' ] + " and " +
+                   ipv4[ 'host2' ][ 'name' ]  )
+        stepResult = main.wrapper.addPointIntent( main, ipv4 )
+        utilities.assert_equals( expect=main.TRUE,
+                                 actual=stepResult,
+                                 onpass=ipv4[ 'name' ] +
+                                        ": Point intent successful",
+                                 onfail=ipv4[ 'name' ] +
+                                        ": Point intent failed" )
 
     def CASE1003( self, main ):
         """
