diff --git a/app.py b/app.py
index 0779746..f841cd4 100644
--- a/app.py
+++ b/app.py
@@ -24,7 +24,8 @@
 BROADCAST = 'ff:ff:ff:ff:ff:ff'
 DEFAULT_FIELDS = ['seq', 'rate']
 AVAIL_FIELDS = ['seq', 'mcs', 'rate', 'retry',
-                'type', 'typestr', 'dbm_antsignal', 'dbm_antnoise']
+                'type', 'typestr', 'dbm_antsignal', 'dbm_antnoise',
+                'bad']
 
 loader = tornado.template.Loader('.')
 
diff --git a/wifipacket.py b/wifipacket.py
index 779aef5..54c0763 100755
--- a/wifipacket.py
+++ b/wifipacket.py
@@ -38,6 +38,7 @@
   def __delattr__(self, name):
     del self[name]
 
+
 GZIP_MAGIC = '\x1f\x8b\x08'
 TCPDUMP_MAGIC = 0xa1b2c3d4
 TCPDUMP_VERSION = (2, 4)
@@ -307,7 +308,10 @@
           opt[name] = v if len(v) > 1 else v[0]
         ofs += sz
 
-    (fctl, duration) = struct.unpack('<HH', frame[0:4])
+    try:
+      (fctl, duration) = struct.unpack('<HH', frame[0:4])
+    except struct.error:
+      (fctl, duration) = 0, 0
     dot11ver = fctl & 0x0003
     dot11type = (fctl & 0x000c) >> 2
     dot11subtype = (fctl & 0x00f0) >> 4
@@ -345,6 +349,10 @@
     # it in from the previous packet's RA field.  We can check that the
     # new packet's RA == the previous packet's TA, just to make sure we're
     # not lying about it.
+    if opt.get('flags', Flags.BAD_FCS) & Flags.BAD_FCS:
+      opt.bad = 1
+    else:
+      opt.bad = 0
     if not opt.get('ta'):
       if (last_ta and last_ra
           and last_ta == opt.get('ra')
@@ -399,7 +407,7 @@
       co.writerow(['%.6f' % (t_pcap - tbase_pcap)] +
                   [opt.get(f, None) for f in want_fields])
   else:
-    for opt, frame in Packetize(p):
+    for i, (opt, frame) in enumerate(Packetize(p)):
       ts = opt.pcap_secs
       ts = '%.09f' % ts
       if 'xa' in opt:
@@ -414,17 +422,18 @@
         seq = opt.seq
       else:
         seq = 'noseq'
+      print(i+1, opt.get('flags'), opt.get('bad'))
       if 'flags' in opt:
         if opt.flags & Flags.BAD_FCS:
           continue
       if 'mcs' in opt:
-        print(
+        print(i + 1,
             src, opt.dsmode, opt.typestr, ts, opt.rate, mac_usecs,
             opt.orig_len, seq, opt.flags)
       else:
-        print(
-            src, opt.dsmode, opt.typestr, ts, opt.rate, mac_usecs,
-            opt.orig_len, seq, opt.flags)
+        print(i + 1,
+            src, opt.dsmode, opt.typestr, ts, opt.get('rate'), mac_usecs,
+            opt.orig_len, seq, opt.get('flags'))
 
 
 def ZOpen(fn):
