diff --git a/TestON/examples/StepParams/StepParams.ospk b/TestON/examples/StepParams/StepParams.ospk
new file mode 100644
index 0000000..69a6092
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.ospk
@@ -0,0 +1,15 @@
+CASE 1
+
+     NAME "Using CASE level parameters to specify the host as h2"
+     STEP "Host IP Checking using checkIP"
+     ON Mininet1 DO checkIP USING STEP['host'] AND STORE LAST_RESULT IN result
+     STEP "Verifying the result"
+     ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
+
+CASE 2
+
+     NAME "Using CASE level parameters to specify the host as h3"
+     STEP "Host IP Checking using checkIP"
+     ON Mininet1 DO checkIP USING STEP['host'] AND STORE LAST_RESULT IN result
+     STEP "Verifying the result"
+     ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
\ No newline at end of file
diff --git a/TestON/examples/StepParams/StepParams.params b/TestON/examples/StepParams/StepParams.params
new file mode 100644
index 0000000..1401d38
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.params
@@ -0,0 +1,15 @@
+<PARAMS>
+    <testcases> 1,2 </testcases>
+    <mail> paxweb@paxterrasolutions.com </mail>
+    #'log_dir' = '/home/user/Desktop/openflow_logs/'
+    <CASE1>
+        <STEP1>
+            <host> h2 </host>
+        </STEP1>
+    </CASE1>
+    <CASE2>
+        <STEP1>
+            <host> h3 </host>
+         </STEP1>
+    </CASE2>
+</PARAMS> 
\ No newline at end of file
diff --git a/TestON/examples/StepParams/StepParams.py b/TestON/examples/StepParams/StepParams.py
new file mode 100644
index 0000000..10cfd69
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+'''
+Created on 28-Nov-2012
+
+@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    (at your option) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see <http://www.gnu.org/licenses/>.		
+'''  
+class StepParams:
+    ''' 
+    This example shows the usage of the STEP level parameters, in params file the
+    [[CASE1]]
+    [[[STEP1]]]
+        'host'  = 'h2'
+    
+    We can get this STEP level parameter like :
+    main.params['CASE1']['STEP1']['host']
+    
+    
+    ofautomation>run StepParams example 1       
+    '''
+    def __init__(self):
+        self.default = ""
+                
+    def CASE1(self,main):
+        '''
+        This example will showcase the usage of STEP level parameters to specify the host as h2
+        '''
+        main.case("Using STEP level parameters to specify the host as h2")
+        main.step("Host IP Checking using checkIP")
+        result = main.Mininet1.checkIP(main.params['CASE1']['STEP1']['host'])
+        main.step("Verifying the result")
+        utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured") 
+        
+
+    def CASE2(self,main):
+        '''
+                This example will showcase the usage of STEP level parameters to specify the host as h3
+        '''
+        main.case("Using STEP level parameters to specify the host as h3")
+        main.step("Host IP Checking using checkIP")
+        result = main.Mininet1.checkIP(main.params['CASE2']['STEP1']['host'])
+        main.step("Verifying the result")
+        utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h3 IP address configured",onfail="Host h3 IP address didn't configured")             
diff --git a/TestON/examples/StepParams/StepParams.topo b/TestON/examples/StepParams/StepParams.topo
new file mode 100644
index 0000000..87cdc89
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.topo
@@ -0,0 +1,29 @@
+<TOPOLOGY>
+
+    <COMPONENT>
+        <Mininet1>
+            <host>192.168.56.101</host>
+            <user> openflow</user>
+            <password> openflow</password>
+            <type> MininetCliDriver </type>
+            <COMPONENTS>
+                # Specify the Option for mininet
+                <topo> single</topo>
+                <topocount>3</topocount>
+                <switch> ovsk </switch>
+                <controller> remote </controller>
+             </COMPONENTS>   
+        </Mininet1>        
+        <POX2>
+            <host> 192.168.56.101 </host>
+            <user>  openflow </user>
+            <password> openflow </password>
+            <type> PoxCliDriver </type>
+            <test_target> 1 </test_target>
+            <COMPONENTS>
+                <pox_lib_location> /home/openflow/pox/  </pox_lib_location>
+                <samples.of_tutorial></samples.of_tutorial>
+            </COMPONENTS>
+        </POX2>
+    </COMPONENT>
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/examples/StepParams/__init__.py b/TestON/examples/StepParams/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/StepParams/__init__.py
diff --git a/TestON/examples/StepParams/readme b/TestON/examples/StepParams/readme
new file mode 100644
index 0000000..e79df47
--- /dev/null
+++ b/TestON/examples/StepParams/readme
@@ -0,0 +1,12 @@
+This example shows the usage of the STEP level parameters, in params file the
+[[CASE1]]
+[[[STEP1]]]
+    'host'  = 'h2'
+
+We can get this CASE level parameter like :
+main.params['CASE1']['STEP1']['host']
+
+
+cd ~/bin/
+./launcher --example StepParams 
+   will execute this example.
\ No newline at end of file
