diff --git a/pytoml/core.py b/pytoml/core.py
new file mode 100644
index 0000000..c182734
--- /dev/null
+++ b/pytoml/core.py
@@ -0,0 +1,13 @@
+class TomlError(RuntimeError):
+    def __init__(self, message, line, col, filename):
+        RuntimeError.__init__(self, message, line, col, filename)
+        self.message = message
+        self.line = line
+        self.col = col
+        self.filename = filename
+
+    def __str__(self):
+        return '{}({}, {}): {}'.format(self.filename, self.line, self.col, self.message)
+
+    def __repr__(self):
+        return 'TomlError({!r}, {!r}, {!r}, {!r})'.format(self.message, self.line, self.col, self.filename)
diff --git a/pytoml/parser.py b/pytoml/parser.py
index 005aede..4dce4b3 100644
--- a/pytoml/parser.py
+++ b/pytoml/parser.py
@@ -1,18 +1,5 @@
 import string, re, sys
-
-class TomlError(RuntimeError):
-    def __init__(self, message, line, col, filename):
-        RuntimeError.__init__(self, message, line, col, filename)
-        self.message = message
-        self.line = line
-        self.col = col
-        self.filename = filename
-
-    def __str__(self):
-        return '{}({}, {}): {}'.format(self.filename, self.line, self.col, self.message)
-
-    def __repr__(self):
-        return 'TomlError({!r}, {!r}, {!r}, {!r})'.format(self.message, self.line, self.col, self.filename)
+from .core import TomlError
 
 class _CharSource:
     def __init__(self, s, filename):
@@ -276,12 +263,15 @@
     elif type == 'datetime':
         return text
 
-def load(fin, translate_literal=_translate_literal, translate_array=id):
+def _translate_array(a):
+    return a
+
+def load(fin, translate_literal=_translate_literal, translate_array=_translate_array):
     return loads(fin.read(),
         translate_literal=translate_literal, translate_array=translate_array,
         filename=fin.name)
 
-def loads(s, translate_literal=_translate_literal, translate_array=id, filename='<string>'):
+def loads(s, translate_literal=_translate_literal, translate_array=_translate_array, filename='<string>'):
     if isinstance(s, bytes):
         s = s.decode('utf-8')
 
diff --git a/setup.py b/setup.py
index 30404df..fe23056 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@
 
 setup(
     name='pytoml',
-    version='0.1.0',
+    version='0.1.1',
 
     description='A parser for TOML-0.4.0',
     author='Martin Vejnár',
