diff --git a/web/add_flow.py b/web/add_flow.py
index d8788ee..7adaf98 100755
--- a/web/add_flow.py
+++ b/web/add_flow.py
@@ -175,7 +175,7 @@
       # Just mark whether inPort matching is enabled
       matchInPortEnabled = arg2 in ['True', 'true']
       # inPort = {}
-      # inPort['value'] = int(arg2)
+      # inPort['value'] = int(arg2, 0)
       # match['inPort'] = inPort
       ## match['matchInPort'] = True
     elif arg1 == "matchSrcMac":
@@ -189,19 +189,19 @@
       match['dstMac'] = dstMac
       # match['matchDstMac'] = True
     elif arg1 == "matchVlanId":
-      match['vlanId'] = int(arg2)
+      match['vlanId'] = int(arg2, 0)
       # match['matchVlanId'] = True
     elif arg1 == "matchVlanPriority":
-      match['vlanPriority'] = int(arg2)
+      match['vlanPriority'] = int(arg2, 0)
       # match['matchVlanPriority'] = True
     elif arg1 == "matchEthernetFrameType":
-      match['ethernetFrameType'] = int(arg2)
+      match['ethernetFrameType'] = int(arg2, 0)
       # match['matchEthernetFrameType'] = True
     elif arg1 == "matchIpToS":
-      match['ipToS'] = int(arg2)
+      match['ipToS'] = int(arg2, 0)
       # match['matchIpToS'] = True
     elif arg1 == "matchIpProto":
-      match['ipProto'] = int(arg2)
+      match['ipProto'] = int(arg2, 0)
       # match['matchIpProto'] = True
     elif arg1 == "matchSrcIPv4Net":
       srcIPv4Net = {}
@@ -214,10 +214,10 @@
       match['dstIPv4Net'] = dstIPv4Net
       # match['matchDstIPv4Net'] = True
     elif arg1 == "matchSrcTcpUdpPort":
-      match['srcTcpUdpPort'] = int(arg2)
+      match['srcTcpUdpPort'] = int(arg2, 0)
       # match['matchSrcTcpUdpPort'] = True
     elif arg1 == "matchDstTcpUdpPort":
-      match['dstTcpUdpPort'] = int(arg2)
+      match['dstTcpUdpPort'] = int(arg2, 0)
       # match['matchDstTcpUdpPort'] = True
     elif arg1 == "actionOutput":
       # Just mark whether ACTION_OUTPUT action is enabled
@@ -226,40 +226,40 @@
       # TODO: Complete the implementation for ACTION_OUTPUT
       #   actionOutput = {}
       #   outPort = {}
-      #   outPort['value'] = int(arg2)
+      #   outPort['value'] = int(arg2, 0)
       #   actionOutput['port'] = outPort
-      #   actionOutput['maxLen'] = int(arg3)
+      #   actionOutput['maxLen'] = int(arg3, 0)
       #   action['actionOutput'] = actionOutput
       #   # action['actionType'] = 'ACTION_OUTPUT'
       #   actions.append(action)
       #
     elif arg1 == "actionSetVlanId":
       vlanId = {}
-      vlanId['vlanId'] = int(arg2)
+      vlanId['vlanId'] = int(arg2, 0)
       action['actionSetVlanId'] = vlanId
       # action['actionType'] = 'ACTION_SET_VLAN_VID'
       actions.append(copy.deepcopy(action))
     elif arg1 == "actionSetVlanPriority":
       vlanPriority = {}
-      vlanPriority['vlanPriority'] = int(arg2)
+      vlanPriority['vlanPriority'] = int(arg2, 0)
       action['actionSetVlanPriority'] = vlanPriority
       # action['actionType'] = 'ACTION_SET_VLAN_PCP'
       actions.append(copy.deepcopy(action))
     elif arg1 == "actionSetIpToS":
       ipToS = {}
-      ipToS['ipToS'] = int(arg2)
+      ipToS['ipToS'] = int(arg2, 0)
       action['actionSetIpToS'] = ipToS
       # action['actionType'] = 'ACTION_SET_NW_TOS'
       actions.append(copy.deepcopy(action))
     elif arg1 == "actionSetTcpUdpSrcPort":
       tcpUdpSrcPort = {}
-      tcpUdpSrcPort['port'] = int(arg2)
+      tcpUdpSrcPort['port'] = int(arg2, 0)
       action['actionSetTcpUdpSrcPort'] = tcpUdpSrcPort
       # action['actionType'] = 'ACTION_SET_TP_SRC'
       actions.append(copy.deepcopy(action))
     elif arg1 == "actionSetTcpUdpDstPort":
       tcpUdpDstPort = {}
-      tcpUdpDstPort['port'] = int(arg2)
+      tcpUdpDstPort['port'] = int(arg2, 0)
       action['actionSetTcpUdpDstPort'] = tcpUdpDstPort
       # action['actionType'] = 'ACTION_SET_TP_DST'
       actions.append(copy.deepcopy(action))
@@ -304,9 +304,9 @@
     elif arg1 == "actionEnqueue":
       # TODO: Implement ACTION_ENQUEUE
       actionEnqueue = {}
-      #   actionEnqueue['queueId'] = int(arg2)
+      #   actionEnqueue['queueId'] = int(arg2, 0)
       #   enqueuePort = {}
-      #   enqueuePort['value'] = int(arg3)
+      #   enqueuePort['value'] = int(arg3, 0)
       #   actionEnqueue['port'] = enqueuePort
       #   action['actionEnqueue'] = actionEnqueue
       #   # action['actionType'] = 'ACTION_ENQUEUE'
diff --git a/web/delete_flow.py b/web/delete_flow.py
index f6f3d39..412d02f 100755
--- a/web/delete_flow.py
+++ b/web/delete_flow.py
@@ -59,4 +59,5 @@
     exit(1)
 
   # Do the work
-  delete_flow_path(sys.argv[1]);
+  flow_id_arg = int(sys.argv[1], 0)
+  delete_flow_path(flow_id_arg);
diff --git a/web/get_flow.py b/web/get_flow.py
index 65def9b..fdaa10b 100755
--- a/web/get_flow.py
+++ b/web/get_flow.py
@@ -92,7 +92,7 @@
       if matchVlanPriority == True:
 	print "    vlanPriority: %s" % vlanPriority
       if matchEthernetFrameType == True:
-	print "    ethernetFrameType: %s" % ethernetFrameType
+	print "    ethernetFrameType: %s" % hex(ethernetFrameType)
       if matchIpToS == True:
 	print "    ipToS: %s" % ipToS
       if matchIpProto == True:
