diff --git a/accton/acl_flow.py b/accton/acl_flow.py
index c6fe8a1..d2165b7 100755
--- a/accton/acl_flow.py
+++ b/accton/acl_flow.py
@@ -19,7 +19,7 @@
         output_port=ports[1]
         vlan_id = 10
         dmac = [0x00, 0x12, 0x34, 0x56, 0x78, 0x9a]
-        gid, req_msg = add_one_l2_interface_grouop(self.controller, port=output_port, vlan_id=vlan_id, is_tagged=True, send_barrier=False)
+        gid, req_msg = add_one_l2_interface_group(self.controller, port=output_port, vlan_id=vlan_id, is_tagged=True, send_barrier=False)
         #add ACL flow to output port
         match = ofp.match()
         match.oxm_list.append(ofp.oxm.in_port(input_port))
diff --git a/accton/epr.py b/accton/epr.py
index 9a7b915..44c0126 100755
--- a/accton/epr.py
+++ b/accton/epr.py
@@ -23,8 +23,8 @@
         
         vlan_id = 10
 
-        gid_p1, req_msg_p1 = add_one_l2_interface_grouop(self.controller, port=port1, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
-        gid_p2, req_msg_p2 = add_one_l2_interface_grouop(self.controller, port=port2, vlan_id=vlan_id, is_tagged=False, send_barrier=False)        
+        gid_p1, req_msg_p1 = add_one_l2_interface_group(self.controller, port=port1, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
+        gid_p2, req_msg_p2 = add_one_l2_interface_group(self.controller, port=port2, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
         #add ACL flow, in port1 out port2
         match = ofp.match()
         match.oxm_list.append(ofp.oxm.in_port(port1))
diff --git a/accton/flow_test.py b/accton/flow_test.py
index 58a86f4..c9d2609 100755
--- a/accton/flow_test.py
+++ b/accton/flow_test.py
@@ -314,7 +314,7 @@
         dip=0xc0a80001
         for port in config["port_map"].keys():
             #add l2 interface group
-            add_one_l2_interface_grouop(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
+            add_one_l2_interface_group(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
             dst_mac[5]=vlan_id
             l3_msg=add_l3_unicast_group(self.controller, port, vlanid=vlan_id, id=vlan_id, src_mac=intf_src_mac, dst_mac=dst_mac)
             #add vlan flow table
@@ -401,7 +401,7 @@
         port_ip2=0xc0a80201
         port_ip2_str=convertIP4toStr(port_ip2)
 		#add l2 interface group
-        add_one_l2_interface_grouop(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
 		#add vlan flow table
         add_one_vlan_table_flow(self.controller, port, vlan_id, flag=VLAN_TABLE_FLAG_ONLY_BOTH)
 		#add termination flow
@@ -482,8 +482,8 @@
         port_ip2=0xc0a80201
         port_ip2_str=convertIP4toStr(port_ip2)
 		#add l2 interface group
-        add_one_l2_interface_grouop(self.controller, port, vlan_id=port_vlan_id1, is_tagged=True, send_barrier=False)
-        add_one_l2_interface_grouop(self.controller, port, vlan_id=port_vlan_id2, is_tagged=True, send_barrier=False)		
+        add_one_l2_interface_group(self.controller, port, vlan_id=port_vlan_id1, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port, vlan_id=port_vlan_id2, is_tagged=True, send_barrier=False)
 		#add vlan flow table
         add_one_vlan_table_flow(self.controller, port, port_vlan_id1, flag=VLAN_TABLE_FLAG_ONLY_BOTH)
         add_one_vlan_table_flow(self.controller, port, port_vlan_id2, flag=VLAN_TABLE_FLAG_ONLY_BOTH)		
@@ -582,8 +582,8 @@
         port_ip2=0xc0a80201
         port_ip2_str=convertIP4toStr(port_ip2)
 		#add l2 interface group
-        add_one_l2_interface_grouop(self.controller, port, vlan_id=vrf1_vlan_id, is_tagged=True, send_barrier=False)
-        add_one_l2_interface_grouop(self.controller, port, vlan_id=vrf2_vlan_id, is_tagged=True, send_barrier=False)        
+        add_one_l2_interface_group(self.controller, port, vlan_id=vrf1_vlan_id, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port, vlan_id=vrf2_vlan_id, is_tagged=True, send_barrier=False)
 		#add vlan flow table
         add_one_vlan_table_flow(self.controller, port, vrf1_vlan_id, vrf=vrf1, flag=VLAN_TABLE_FLAG_ONLY_TAG)
         add_one_vlan_table_flow(self.controller, port, vrf2_vlan_id, vrf=vrf2, flag=VLAN_TABLE_FLAG_ONLY_TAG)
@@ -737,7 +737,7 @@
         dip=0xc0a80001
         for port in config["port_map"].keys():
             #add l2 interface group
-            add_one_l2_interface_grouop(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
+            add_one_l2_interface_group(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
             dst_mac[5]=vlan_id
             l3_msg=add_l3_unicast_group(self.controller, port, vlanid=vlan_id, id=vlan_id, src_mac=intf_src_mac, dst_mac=dst_mac)            
             ecmp_msg=add_l3_ecmp_group(self.controller, vlan_id, [l3_msg.group_id])
@@ -831,7 +831,7 @@
         tx_port = config["port_map"].keys()[0]        
         for port in config["port_map"].keys():
             #add l2 interface group
-            add_one_l2_interface_grouop(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)            
+            add_one_l2_interface_group(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
             if tx_port != port:            
                 l3_msg=add_l3_unicast_group(self.controller, port, vlanid=vlan_id, id=vlan_id, src_mac=intf_src_mac, dst_mac=same_dst_mac)            
                 l3_ucast_gips.append(l3_msg.group_id)
@@ -927,7 +927,7 @@
 
         #add l2 interface group
         for port in config["port_map"].keys():        
-            add_one_l2_interface_grouop(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)           
+            add_one_l2_interface_group(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
             #add vlan flow table
             add_one_vlan_table_flow(self.controller, port, vlan_id, flag=VLAN_TABLE_FLAG_ONLY_BOTH)            
             vlan_id +=1            
@@ -996,7 +996,7 @@
         for port in config["port_map"].keys():
             if port != port1 and port !=port2:
                 continue
-            l2_intf_gid, msg=add_one_l2_interface_grouop(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)           
+            l2_intf_gid, msg=add_one_l2_interface_group(self.controller, port, vlan_id=vlan_id, is_tagged=False, send_barrier=False)
             l2_intf_group_list.append(l2_intf_gid)
             #add vlan flow table
             add_one_vlan_table_flow(self.controller, port, vlan_id, flag=VLAN_TABLE_FLAG_ONLY_BOTH)            
diff --git a/accton/flow_test2.py b/accton/flow_test2.py
index 7ef7c2b..464ab42 100755
--- a/accton/flow_test2.py
+++ b/accton/flow_test2.py
@@ -22,7 +22,7 @@
         out_vlan=10
         add_vlan_table_flow_pvid(self.controller, in_port, None, out_vlan, False)
         add_vlan_table_flow_pvid(self.controller, in_port, 1,out_vlan, False)        
-        group_id, msg=add_one_l2_interface_grouop(self.controller, out_port, out_vlan,  True, False) 
+        group_id, msg=add_one_l2_interface_group(self.controller, out_port, out_vlan,  True, False)
         #add acl 
         match = ofp.match()
         match.oxm_list.append(ofp.oxm.in_port(in_port))    
diff --git a/accton/group_test.py b/accton/group_test.py
index 8acb025..503438f 100755
--- a/accton/group_test.py
+++ b/accton/group_test.py
@@ -36,7 +36,7 @@
         delete_all_flows(self.controller)
         delete_all_groups(self.controller)    
 
-        group_list1, msg1 = add_one_l2_interface_grouop(self.controller, config["port_map"].keys()[0], 1,  False, False)
+        group_list1, msg1 = add_one_l2_interface_group(self.controller, config["port_map"].keys()[0], 1,  False, False)
         stats = get_stats(self, ofp.message.group_desc_stats_request())
  
         verify_group_stats=[ofp.group_desc_stats_entry(
@@ -452,7 +452,7 @@
         test_vid=1
         
         #ref l2_intf_group
-        l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, config["port_map"].keys()[0], test_vid,  False, False)
+        l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, config["port_map"].keys()[0], test_vid,  False, False)
         mpls_intf_gid, mpls_intf_msg=add_mpls_intf_group(self.controller, l2_intf_gid, [0x00,0x11,0x11,0x11,0x11,0x11], [0x00,0x22,0x22,0x22,0x22,0x22], vid=test_vid, index=1)
             
         stats = get_stats(self, ofp.message.group_desc_stats_request())
@@ -487,7 +487,7 @@
         test_vid=1
         test_port=config["port_map"].keys()[0]        
         #ref l2_intf_group
-        l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, test_port, test_vid,  False, False)
+        l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, test_port, test_vid,  False, False)
         mpls_intf_gid, mpls_intf_msg=add_mpls_intf_group(self.controller, l2_intf_gid, [0x00,0x11,0x11,0x11,0x11,0x11], [0x00,0x22,0x22,0x22,0x22,0x22], vid=test_vid, index=1)        
         mpls_label_gid, mpls_label_msg=add_mpls_label_group(self.controller, subtype=OFDPA_MPLS_GROUP_SUBTYPE_L2_VPN_LABEL, 
 		                                                  index=1, 
@@ -545,7 +545,7 @@
         test_vid=1
         test_port=config["port_map"].keys()[0]        
         #ref l2_intf_group
-        l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, test_port, test_vid,  False, False)
+        l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, test_port, test_vid,  False, False)
         mpls_intf_gid, mpls_intf_msg=add_mpls_intf_group(self.controller, l2_intf_gid, [0x00,0x11,0x11,0x11,0x11,0x11], [0x00,0x22,0x22,0x22,0x22,0x22], vid=test_vid, index=1)                
         mpls_label_gid, mpls_label_msg=add_mpls_label_group(self.controller, subtype=OFDPA_MPLS_GROUP_SUBTYPE_TUNNEL_LABEL1, 
 		                                                  index=1, 
@@ -601,7 +601,7 @@
         test_vid=1
         test_port=config["port_map"].keys()[0]        
         #ref l2_intf_group
-        l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, test_port, test_vid,  False, False)
+        l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, test_port, test_vid,  False, False)
         mpls_intf_gid, mpls_intf_msg=add_mpls_intf_group(self.controller, l2_intf_gid, [0x00,0x11,0x11,0x11,0x11,0x11], [0x00,0x22,0x22,0x22,0x22,0x22], vid=test_vid, index=1)                        
         mpls_label_gid, mpls_label_msg=add_mpls_label_group(self.controller, subtype=OFDPA_MPLS_GROUP_SUBTYPE_TUNNEL_LABEL2, 
 		                                                  index=1, 
@@ -656,7 +656,7 @@
         test_vid=1
         test_port=config["port_map"].keys()[0]
         #ref l2_intf_group
-        l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, test_port, test_vid,  False, False)
+        l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, test_port, test_vid,  False, False)
         mpls_intf_gid, mpls_intf_msg=add_mpls_intf_group(self.controller, l2_intf_gid, [0x00,0x11,0x11,0x11,0x11,0x11], [0x00,0x22,0x22,0x22,0x22,0x22], vid=test_vid, index=1)                                
         mpls_label_gid, mpls_label_msg=add_mpls_label_group(self.controller, subtype=OFDPA_MPLS_GROUP_SUBTYPE_SWAP_LABEL, 
 		                                                  index=1, 
@@ -708,7 +708,7 @@
         test_vid=1
         test_port=config["port_map"].keys()[0]
         #ref l2_intf_group
-        l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, test_port, test_vid,  False, False)
+        l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, test_port, test_vid,  False, False)
         mpls_intf_gid, mpls_intf_msg=add_mpls_intf_group(self.controller, l2_intf_gid, [0x00,0x11,0x11,0x11,0x11,0x11], [0x00,0x22,0x22,0x22,0x22,0x22], vid=test_vid, index=1)                                
         mpls_label_gid, mpls_label_msg=add_mpls_label_group(self.controller, subtype=OFDPA_MPLS_GROUP_SUBTYPE_SWAP_LABEL, 
 		                                                  index=1, 
@@ -780,7 +780,7 @@
         index=1
         #ref l2_intf_group
         for port in config["port_map"].keys():
-            l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, port, test_vid,  False, False)
+            l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, port, test_vid,  False, False)
             l2_intf_msgs.append(l2_intf_msg)            
             mpls_intf_gid, mpls_intf_msg=add_mpls_intf_group(self.controller, l2_intf_gid, [0x00,0x11,0x11,0x11,0x11,0x11], [0x00,0x22,0x22,0x22,0x22,0x22], vid=test_vid, index=index)
             index=index+1
@@ -835,7 +835,7 @@
         test_port=config["port_map"].keys()[0]
         index=1
         #ref l2_intf_group        
-        l2_intf_gid, l2_intf_msg = add_one_l2_interface_grouop(self.controller, test_port, test_vid,  False, False)
+        l2_intf_gid, l2_intf_msg = add_one_l2_interface_group(self.controller, test_port, test_vid,  False, False)
 
         mpls_fwd_gid, mpls_fwd_msg=add_mpls_forwarding_group(self.controller, 
                                                              subtype=OFDPA_MPLS_GROUP_SUBTYPE_L2_TAG, 
diff --git a/accton/nat.py b/accton/nat.py
index 7141e8a..2f88139 100755
--- a/accton/nat.py
+++ b/accton/nat.py
@@ -38,7 +38,7 @@
         add_one_vlan_table_flow(self.controller, input_port, vlan_id=200, vrf=0, flag=VLAN_TABLE_FLAG_ONLY_BOTH, send_barrier=False)           
         add_termination_flow(self.controller, input_port, 0x0800, [0x00,0x00,0x00,0x00,0x02,0x00], 200, goto_table=28, send_barrier=False)        
         
-        add_one_l2_interface_grouop(self.controller, port=output_port, vlan_id=100, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port=output_port, vlan_id=100, is_tagged=True, send_barrier=False)
         msg1=add_l3_unicast_group(self.controller, port=output_port, vlanid=100, id=0x3000001, src_mac=[0x00,0x00,0x00,0x00,0x01,0x00], dst_mac=[0x00,0x00,0x00,0x00,0x01,0x01])
         add_dnat_flow(self.controller, eth_type=0x0800, ip_dst=0x64000001, ip_proto=6, tcp_dst=5000, set_ip_dst=0x0a000001, set_tcp_dst=2000, action_group_id=msg1.group_id)
 
@@ -95,10 +95,10 @@
         output_port2 = test_ports[2]
 
         add_one_vlan_table_flow(self.controller, input_port, vlan_id=200, vrf=0, flag=VLAN_TABLE_FLAG_ONLY_TAG, send_barrier=False)   
-        add_one_l2_interface_grouop(self.controller, port=output_port, vlan_id=100, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port=output_port, vlan_id=100, is_tagged=True, send_barrier=False)
         #Bits 27:24 is for realm id, so unicast group id give 0x3000001
         msg1=add_l3_unicast_group(self.controller, port=output_port, vlanid=100, id=0x3000001, src_mac=[0x00,0x00,0x00,0x00,0x01,0x00], dst_mac=[0x00,0x00,0x00,0x00,0x01,0x01])
-        add_one_l2_interface_grouop(self.controller, port=output_port2, vlan_id=2, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port=output_port2, vlan_id=2, is_tagged=True, send_barrier=False)
         #Bits 27:24 is for realm id, so unicast group id give 0x3000005
         msg2=add_l3_unicast_group(self.controller, port=output_port2, vlanid=2, id=0x3000005, src_mac=[0x00,0x00,0x05,0x22,0x33,0x55], dst_mac=[0x00,0x00,0x05,0x22,0x44,0x66])
         ecmp=add_l3_ecmp_group(self.controller, id=0x1000001, l3_ucast_groups=[msg1.group_id, msg2.group_id])
@@ -171,11 +171,11 @@
         
         add_one_vlan_table_flow(self.controller, input_port, vlan_id=100, vrf=0, flag=VLAN_TABLE_FLAG_ONLY_TAG, send_barrier=False)   
         add_termination_flow(self.controller, 0, 0x0800, [0x00,0x00,0x00,0x00,0x01,0x00], 100, goto_table=29, send_barrier=False)
-        add_one_l2_interface_grouop(self.controller, port=output_port, vlan_id=200, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port=output_port, vlan_id=200, is_tagged=True, send_barrier=False)
         #Bits 27:24 is for realm id, so unicast group id give 0x2000002
         msg1=add_l3_unicast_group(self.controller, port=output_port, vlanid=200, id=0x2000002, src_mac=[0x00,0x00,0x00,0x00,0x02,0x00], dst_mac=[0x00,0x00,0x00,0x00,0x02,0x01])
         
-        add_one_l2_interface_grouop(self.controller, port=output_port2, vlan_id=5, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port=output_port2, vlan_id=5, is_tagged=True, send_barrier=False)
         #Bits 27:24 is for realm id, so unicast group id give 0x2000002
         msg2=add_l3_unicast_group(self.controller, port=output_port2, vlanid=5, id=0x2000005, src_mac=[0x00,0x00,0x00,0x00,0x05,0x00], dst_mac=[0x00,0x00,0x00,0x00,0x05,0x01])
 
@@ -244,7 +244,7 @@
         add_port_table_flow(self.controller, is_overlay=False)
         add_one_vlan_table_flow(self.controller, input_port, vlan_id=2, vrf=0, flag=VLAN_TABLE_FLAG_ONLY_TAG, send_barrier=False)   
         add_termination_flow(self.controller, input_port, 0x0800, [0x70, 0x72, 0xcf, 0x7c, 0xf3, 0xa3], 2, send_barrier=False)
-        add_one_l2_interface_grouop(self.controller, port=output_port, vlan_id=3, is_tagged=True, send_barrier=False)
+        add_one_l2_interface_group(self.controller, port=output_port, vlan_id=3, is_tagged=True, send_barrier=False)
         msg=add_l3_unicast_group(self.controller, port=output_port, vlanid=3, id=3, src_mac=[0x00,0x00,0x04,0x22,0x33,0x55], dst_mac=[0x00,0x00,0x04,0x22,0x44,0x66])
         add_unicast_routing_flow(self.controller, 0x0800, 0xc0a80202, 0xffffff00, msg.group_id)
 
diff --git a/accton/vxlan_flow_test.py b/accton/vxlan_flow_test.py
index e31e3ec..b827652 100755
--- a/accton/vxlan_flow_test.py
+++ b/accton/vxlan_flow_test.py
@@ -415,7 +415,7 @@
         add_port_table_flow(self.controller)
 
         #for network port need l2 interface group to decide vlan tag or not
-        add_one_l2_interface_grouop(self.controller, network_port_phy_port, vlan_id=network_port_vlan)        
+        add_one_l2_interface_group(self.controller, network_port_phy_port, vlan_id=network_port_vlan)
 
 		#add DLF bridge flow
         msg=add_l2_overlay_flood_over_mcast_tunnel_group(self.controller, vnid, [access_lport1, access_lport2, network_lport], 1)        
@@ -558,7 +558,7 @@
         add_port_table_flow(self.controller)
 
         #for network port need l2 interface group to decide vlan tag or not
-        add_one_l2_interface_grouop(self.controller, network_port_phy_port, vlan_id=network_port_vlan)        
+        add_one_l2_interface_group(self.controller, network_port_phy_port, vlan_id=network_port_vlan)
 
 		#add DLF bridge flow
         msg=add_l2_overlay_flood_over_unicast_tunnel_group(self.controller, vnid, [access_lport1, access_lport2, network_lport], 1)        
@@ -1017,7 +1017,7 @@
         add_port_table_flow(self.controller, is_overlay=False)
         
         #for network port need l2 interface group to decide vlan tag or not
-        add_one_l2_interface_grouop(self.controller, network_port_phy_port, vlan_id=network_port_vlan)                
+        add_one_l2_interface_group(self.controller, network_port_phy_port, vlan_id=network_port_vlan)
         #add network mac
         add_overlay_bridge_flow(self.controller, network_lport_mac, vnid, network_lport, False, True)
         add_overlay_bridge_flow(self.controller, access_lport1_mac, vnid, access_lport1, False, True)
@@ -1192,8 +1192,8 @@
         add_port_table_flow(self.controller)
 
         #for network port need l2 interface group to decide vlan tag or not
-        add_one_l2_interface_grouop(self.controller, network_port1_phy_port, vlan_id=network_port1_vlan)        
-        add_one_l2_interface_grouop(self.controller, network_port2_phy_port, vlan_id=network_port2_vlan)                
+        add_one_l2_interface_group(self.controller, network_port1_phy_port, vlan_id=network_port1_vlan)
+        add_one_l2_interface_group(self.controller, network_port2_phy_port, vlan_id=network_port2_vlan)
         #add network mac
         add_overlay_bridge_flow(self.controller, network_lport1_mac, vnid, network_lport1, False, True)
         add_overlay_bridge_flow(self.controller, network_lport2_mac, vnid, network_lport2, False, True)
