-some fixes
-Now instead of tableId CLI show table name (acl,ip,mpls) in 'show switch <dpid> table <tableType>' command
diff --git a/src/main/java/net/floodlightcontroller/core/web/OFFlowStatsEntryMod.java b/src/main/java/net/floodlightcontroller/core/web/OFFlowStatsEntryMod.java
index d9095d6..c4b2606 100644
--- a/src/main/java/net/floodlightcontroller/core/web/OFFlowStatsEntryMod.java
+++ b/src/main/java/net/floodlightcontroller/core/web/OFFlowStatsEntryMod.java
@@ -1,23 +1,32 @@
 package net.floodlightcontroller.core.web;
 
+import net.floodlightcontroller.core.IOFSwitch;
 import net.floodlightcontroller.core.web.serializers.OFFlowStatsEntryModSerializer;
 
 import org.projectfloodlight.openflow.protocol.OFFlowStatsEntry;
-
 import org.codehaus.jackson.map.annotate.JsonSerialize;
 @JsonSerialize(using = OFFlowStatsEntryModSerializer.class)
 public class OFFlowStatsEntryMod {
     private OFFlowStatsEntry FlowStatsEntry = null;
+    /*
+     * need switch to get table name so the we could sepcify table name (ip,acl,mpls)
+     * instead of table number
+     */
+    private IOFSwitch sw;
 
     public  OFFlowStatsEntryMod() {
     }
 
-    public  OFFlowStatsEntryMod(OFFlowStatsEntry FlowStatsEntry) {
+    public  OFFlowStatsEntryMod(OFFlowStatsEntry FlowStatsEntry, IOFSwitch sw1) {
         this.FlowStatsEntry = FlowStatsEntry;
+        this.sw = sw1;
     }
 
     public OFFlowStatsEntry getFlowStatsEntry() {
         return this.FlowStatsEntry;
     }
+    public IOFSwitch getSwitch(){
+        return this.sw;
+    }
 
 }
diff --git a/src/main/java/net/floodlightcontroller/core/web/OFGroupDescStatsEntryMod.java b/src/main/java/net/floodlightcontroller/core/web/OFGroupDescStatsEntryMod.java
index e7ca358..15a230b 100644
--- a/src/main/java/net/floodlightcontroller/core/web/OFGroupDescStatsEntryMod.java
+++ b/src/main/java/net/floodlightcontroller/core/web/OFGroupDescStatsEntryMod.java
@@ -8,17 +8,17 @@
 @JsonSerialize(using = OFGroupDescStatsEntryModSerializer.class)
 
 public class OFGroupDescStatsEntryMod {
-        private OFGroupDescStatsEntry GroupDescStatsEntry = null;
+    private OFGroupDescStatsEntry GroupDescStatsEntry = null;
 
-        public OFGroupDescStatsEntryMod() {
-        }
+    public OFGroupDescStatsEntryMod() {
+    }
 
-        public OFGroupDescStatsEntryMod(OFGroupDescStatsEntry GroupStatsEntry) {
-            this.GroupDescStatsEntry = GroupStatsEntry;
-        }
+    public OFGroupDescStatsEntryMod(OFGroupDescStatsEntry GroupStatsEntry) {
+        this.GroupDescStatsEntry = GroupStatsEntry;
+    }
 
-        public OFGroupDescStatsEntry getGroupDescStatsEntry() {
-            return this.GroupDescStatsEntry;
-        }
+    public OFGroupDescStatsEntry getGroupDescStatsEntry() {
+        return this.GroupDescStatsEntry;
+    }
 
 }
diff --git a/src/main/java/net/floodlightcontroller/core/web/SwitchResourceBase.java b/src/main/java/net/floodlightcontroller/core/web/SwitchResourceBase.java
index fd78c1f..56d5355 100644
--- a/src/main/java/net/floodlightcontroller/core/web/SwitchResourceBase.java
+++ b/src/main/java/net/floodlightcontroller/core/web/SwitchResourceBase.java
@@ -103,7 +103,7 @@
                     future = sw.getStatistics(req);
                     values = future.get(10, TimeUnit.SECONDS);
                     for (OFFlowStatsEntry entry : ((OFFlowStatsReply)values.get(0)).getEntries()) {
-                        OFFlowStatsEntryMod entryMod = new OFFlowStatsEntryMod(entry);
+                        OFFlowStatsEntryMod entryMod = new OFFlowStatsEntryMod(entry, sw);
                         flowStats.add(entryMod);
                     }
                     log.debug("Switch flow Stats Entries from switch {} are {}",
@@ -244,7 +244,7 @@
                     future = sw.getStatistics(req);
                     values = future.get(10, TimeUnit.SECONDS);
                     for (OFFlowStatsEntry entry : ((OFFlowStatsReply)values.get(0)).getEntries()) {
-                        OFFlowStatsEntryMod entryMod = new OFFlowStatsEntryMod(entry);
+                        OFFlowStatsEntryMod entryMod = new OFFlowStatsEntryMod(entry, sw);
                         flowStats.add(entryMod);
                     }
                     log.debug("Switch flow Stats Entries for table {} from switch {} are {}",
diff --git a/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java b/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java
index 1ce945b..5619702 100644
--- a/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java
+++ b/src/main/java/net/floodlightcontroller/core/web/serializers/OFFlowStatsEntryModSerializer.java
@@ -6,6 +6,7 @@
 import java.util.Set;
 
 import net.floodlightcontroller.core.web.OFFlowStatsEntryMod;
+import net.onrc.onos.core.drivermanager.OFSwitchImplSpringOpenTTP;
 import net.onrc.onos.core.packet.IPv4;
 
 import org.projectfloodlight.openflow.protocol.action.*;
@@ -36,6 +37,7 @@
             JsonGenerationException {
         OFFlowStatsEntry flowStatsEntry = FlowStatsEntryMod.getFlowStatsEntry();
         OFOxmList matches = ((OFMatchV3)flowStatsEntry.getMatch()).getOxmList();
+        OFSwitchImplSpringOpenTTP sw = (OFSwitchImplSpringOpenTTP)FlowStatsEntryMod.getSwitch();
         
         List<OFInstruction> instructions = flowStatsEntry.getInstructions();
         jGen.writeStartObject();
@@ -121,8 +123,22 @@
                 
                 jGen.writeFieldName(instruction.getType().name());
                 jGen.writeStartObject();
-                jGen.writeNumberField("tableId"
-                        , ((OFInstructionGotoTable)instruction).getTableId().getValue());
+                if(((OFInstructionGotoTable)instruction).getTableId().getValue()==
+                        sw.getTableId("ip").getValue()){
+                    jGen.writeStringField("tableId", "ip");
+                }
+                else if(((OFInstructionGotoTable)instruction).getTableId().getValue()==
+                        sw.getTableId("mpls").getValue()){
+                    jGen.writeStringField("tableId", "mpls");
+                }
+                else if(((OFInstructionGotoTable)instruction).getTableId().getValue()==
+                        sw.getTableId("acl").getValue()){
+                    jGen.writeStringField("tableId", "acl");
+                }
+                else{
+                    jGen.writeNumberField("tableId"
+                            , ((OFInstructionGotoTable)instruction).getTableId().getValue());
+                }
                 jGen.writeEndObject();
                 continue;
             }//*/
diff --git a/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java b/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java
index 3b1ca58..e3fec5c 100644
--- a/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java
+++ b/src/main/java/net/floodlightcontroller/core/web/serializers/OFGroupDescStatsEntryModSerializer.java
@@ -2,6 +2,7 @@
 import java.io.IOException;
 import java.util.List;
 
+import net.floodlightcontroller.core.IOFSwitch;
 import net.floodlightcontroller.core.web.OFGroupDescStatsEntryMod;
 
 import org.apache.commons.codec.binary.Hex;
@@ -58,12 +59,13 @@
                     }
                 }
                 else if(action.getType().compareTo(OFActionType.OUTPUT) == 0){
-                    jGen.writeNumberField("OUTPPUT", ((OFActionOutput)action).getPort().getPortNumber());
+                    jGen.writeNumberField("OUTPUT", ((OFActionOutput)action).getPort().getPortNumber());
                 }
                 else if(action.getType().compareTo(OFActionType.POP_MPLS) == 0){
                     jGen.writeStringField("POP_MPLS",  "0x"+((OFActionPopMpls)action).getEthertype().toString());
                 }
                 else if(action.getType().compareTo(OFActionType.GROUP) == 0){
+                    ((OFActionGroup)action).getGroup().getGroupNumber();
                     jGen.writeNumberField("goToGroup", ((OFActionGroup)action).getGroup().getGroupNumber());
                 }
                 else if(action.getType().compareTo(OFActionType.COPY_TTL_IN) == 0