diff --git a/Lib/hmac.py b/Lib/hmac.py
index 85b1d1d..6af564e 100644
--- a/Lib/hmac.py
+++ b/Lib/hmac.py
@@ -10,10 +10,14 @@
     """
     return "".join(map(lambda x, y: chr(ord(x) ^ ord(y)), s1, s2))
 
+# The size of the digests returned by HMAC depends on the underlying
+# hashing module used.
+digest_size = None
+
 class HMAC:
     """RFC2104 HMAC class.
 
-    This (mostly) supports the API for Cryptographic Hash Functions (PEP 247).
+    This supports the API for Cryptographic Hash Functions (PEP 247).
     """
 
     def __init__(self, key, msg = None, digestmod = None):
@@ -27,9 +31,11 @@
             import md5
             digestmod = md5
 
+        self.digestmod = digestmod
         self.outer = digestmod.new()
         self.inner = digestmod.new()
-
+        self.digest_size = digestmod.digest_size
+        
         blocksize = 64
         ipad = "\x36" * blocksize
         opad = "\x5C" * blocksize
@@ -56,7 +62,11 @@
 
         An update to this copy won't affect the original object.
         """
-        return HMAC(self)
+        other = HMAC("")
+        other.digestmod = self.digestmod
+        other.inner = self.inner.copy()
+        other.outer = self.outer.copy()
+        return other
 
     def digest(self):
         """Return the hash value of this hashing object.
@@ -88,23 +98,3 @@
     """
     return HMAC(key, msg, digestmod)
 
-def test():
-    def md5test(key, data, digest):
-        h = HMAC(key, data)
-        assert(h.hexdigest().upper() == digest.upper())
-
-    # Test vectors from the RFC
-    md5test(chr(0x0b) * 16,
-            "Hi There",
-            "9294727A3638BB1C13F48EF8158BFC9D")
-
-    md5test("Jefe",
-            "what do ya want for nothing?",
-            "750c783e6ab0b503eaa86e310a5db738")
-
-    md5test(chr(0xAA)*16,
-            chr(0xDD)*50,
-            "56be34521d144c88dbb8c733f0e8b3f6")
-
-if __name__ == "__main__":
-    test()
