diff --git a/examples/Makefile b/examples/Makefile
index fc39c55448fc0246f0ddbba0c05e24c7bc2e0b1d..b217cff14e98788bc33b2063d363b08c71cd4f44 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -17,7 +17,7 @@ ifeq ($(UNAME_S),Darwin)
 else	
 	cd simple ; sh compile.sh && sh run.sh
 	$(MAKE) -C  wiki_example test
-	$(MAKE) -C user_types test 
+	$(MAKE) -C user_types all 
 endif	
 	$(MAKE) -C duck_typing test
 	$(MAKE) -C twoway test 
diff --git a/lib/python/labcomm2014/LabComm.py b/lib/python/labcomm2014/LabComm.py
index b309124f3eb39602bd99a4f9dd99813d6e2da30d..86ce169d097daa5c8fac48abba93a29f66ba0e2c 100644
--- a/lib/python/labcomm2014/LabComm.py
+++ b/lib/python/labcomm2014/LabComm.py
@@ -637,8 +637,7 @@ class struct(type_decl):
         return not self.__eq__(other)
 
     def __hash__(self):
-        tmp = str(self.field)
-        return hash(self.__class__) ^ hash(tmp)
+        return hash(self.__class__) ^ hash(self.field)
 
     def encode_decl(self, encoder):
         encoder.encode_type(i_STRUCT)
@@ -918,8 +917,8 @@ class Decoder(Codec):
         self.version = version
         self.handlers = {}
 
-    def register_handler(self, sig, handler):
-        self.handlers[str(sig)] = handler
+    def register_handler(self, decl, handler):
+        self.handlers[decl] = handler
 
     def unpack(self, format):
         size = packer.calcsize(format)
@@ -956,11 +955,16 @@ class Decoder(Codec):
              data,decl = self.decode()
         if decl:
             if data != None:
-                if str(decl) in self.handlers:
-                    handler = self.handlers[str(decl)]
+                if decl in self.handlers:
+                    handler = self.handlers[decl]
                     handler(data)
                 else:
                     print ("No handler for %s" % decl.name )
+                    for key, value in self.handlers.iteritems():
+                        if key == decl:
+                            print "but value %s == decl %s" % (key,decl)
+                            print "hashes %d : %d" % (hash(key),hash(decl))
+                            raise Exception()
 
     def decode(self):
         while True: