diff --git a/examples/user_types/example_handlers.py b/examples/user_types/example_handlers.py
new file mode 100755
index 0000000000000000000000000000000000000000..cd03c73f3a27e58ef0b6e6c610b0fcf4dc8b7c29
--- /dev/null
+++ b/examples/user_types/example_handlers.py
@@ -0,0 +1,31 @@
+#!/usr/bin/python
+
+import labcomm2014
+import sys,traceback
+import test
+
+def handle_twoInts(val):
+    print "got twoInts: %s" % val
+
+def handle_twoLines(val):
+    print "got twoLines: %s" % val
+
+
+if __name__ == "__main__":
+    version = sys.argv[2] if len(sys.argv) == 3 else "LabComm2014"
+    d = labcomm2014.Decoder(labcomm2014.StreamReader(open(sys.argv[1])), version)
+
+    d.register_handler(test.twoInts.signature, handle_twoInts)
+    d.register_handler(test.twoLines.signature, handle_twoLines)
+
+    while True:
+        try:
+            d.runOne()
+        except EOFError:
+            print "got EOF"
+            break
+        except Exception, e:
+            print "got Exception"
+            print e
+            traceback.print_exc()
+            break