diff --git a/accton/accton_util.py b/accton/accton_util.py
index 371a5ea..ccc0fa8 100755
--- a/accton/accton_util.py
+++ b/accton/accton_util.py
@@ -128,7 +128,7 @@
     index = index & 0x3f       #10 bits
     return index + (tunnel_id << OFDPA_TUNNEL_ID_SHIFT)+ (subtype<<OFDPA_TUNNEL_SUBTYPE_SHIFT)+(8 << OFDPA_GROUP_TYPE_SHIFT)
 
-def add_l2_interface_grouop(ctrl, ports, vlan_id=1, is_tagged=False, send_barrier=False):
+def add_l2_interface_group(ctrl, ports, vlan_id=1, is_tagged=False, send_barrier=False):
     # group table
     # set up untag groups for each port
     group_id_list=[]
@@ -163,7 +163,7 @@
  
     return group_id_list, msgs
 
-def add_one_l2_interface_grouop(ctrl, port, vlan_id=1, is_tagged=False, send_barrier=False):
+def add_one_l2_interface_group(ctrl, port, vlan_id=1, is_tagged=False, send_barrier=False):
     # group table
     # set up untag groups for each port
     group_id = encode_l2_interface_group_id(vlan_id, port)
diff --git a/ofdpa/onos.py b/ofdpa/onos.py
index caac2d5..6db2ee8 100644
--- a/ofdpa/onos.py
+++ b/ofdpa/onos.py
@@ -57,13 +57,13 @@
     Sends a packet and expects the same packet on the other port
     Repeats for double tagged
     """
-   def runTest(self):
+    def runTest(self):
         delete_all_flows(self.controller)
         delete_all_groups(self.controller)
         ports = sorted(config["port_map"].keys())
         # group table
         # set up untag groups for each port
-        add_l2_interface_grouop(self.controller, config["port_map"].keys(), 4093, False, 1)
+        add_l2_interface_group(self.controller, config["port_map"].keys(), 4093, False, 1)
         for port in ports:
             add_one_vlan_table_flow(self.controller, port, 4093, flag=VLAN_TABLE_FLAG_ONLY_BOTH)
             group_id = encode_l2_interface_group_id(4093, port)
@@ -310,7 +310,7 @@
         delete_all_groups(self.controller)
 
        # set up tag groups for each port
-        add_l2_interface_grouop(self.controller, ports, 1, True, 1)
+        add_l2_interface_group(self.controller, ports, 1, True, 1)
 
         add_vlan_table_flow(self.controller, ports)
 
@@ -358,7 +358,7 @@
         add_vlan_table_flow(self.controller, config["port_map"].keys())
 
         # set up tag groups for each port
-        add_l2_interface_grouop(self.controller, config["port_map"].keys(), 1, True, 1)
+        add_l2_interface_group(self.controller, config["port_map"].keys(), 1, True, 1)
 
         for port in ports:
             add_one_l2_interface_group(self.controller, port, 1, True, False)
