diff --git a/aosstower/frame.py b/aosstower/frame.py
index 0878fd2e6f26a31f052e4cc4aa8947f1db0a592a..b2b837988a40c4c0822b28802b03ae186dcda6ed 100644
--- a/aosstower/frame.py
+++ b/aosstower/frame.py
@@ -1,10 +1,28 @@
+from _abcoll import MutableMapping
+
 from aosstower import station
 
 
-class Frame(dict):
+class Frame(MutableMapping):
 
     def __init__(self, width=station.DATA_INTERVAL):
+        self._data = {}
         self.width = width
 
     def __getattr__(self, name, default=None):
         return self.get(name, default)
+
+    def __getitem__(self, name):
+        return self._data[name]
+
+    def __setitem__(self, name, value):
+        self._data[name] = value
+
+    def __delitem__(self, name):
+        del self._data[name]
+
+    def __iter__(self):
+        return iter(self._data)
+
+    def __len__(self):
+        return len(self._data)
diff --git a/aosstower/l00/parser.py b/aosstower/l00/parser.py
index 4b58d83551f6e7725705a35a25e3b9949a0ef134..7464a914c69d17ad34b1a118ff67aaf6165fd603 100644
--- a/aosstower/l00/parser.py
+++ b/aosstower/l00/parser.py
@@ -1,4 +1,5 @@
-"""
+"""Code to parse level 00 data.
+
 Data Versions
 =============
 There have so far been 3 changes to the format of the raw ASCII data over the
@@ -38,7 +39,6 @@ from datetime import datetime, timedelta
 
 from metobs import data as d
 from aosstower.schema import database
-from aosstower.frame import Frame
 
 LOG = logging.getLogger(__name__)
 
@@ -57,14 +57,13 @@ class LineParseError(Exception):
 def _make_frame(data):
     """Construct a frame from a list of tuples.
     """
-    frame = Frame()
     for key, value in data:
         if key == 'stamp':
             continue
         if key in database:
             try:
                 data[key] = database[key].type(data[key])
-            except (ValueError, TypeError) as err:
+            except (ValueError, TypeError):
                 raise LineParseError("error converting '%s' using %s",
                                      data[key], database[key].type)
     return data
diff --git a/aosstower/station.py b/aosstower/station.py
index 4197d403ed89b5a0a4fdc7cc2bfe1cb07326ca74..400afa81954396956b8edc9feeef3ea8a26fb64e 100644
--- a/aosstower/station.py
+++ b/aosstower/station.py
@@ -1,3 +1,5 @@
+"""Station metadata.
+"""
 from datetime import timedelta
 
 # Time between data samples in seconds