diff --git a/Data/ASN1/OID.hs b/Data/ASN1/OID.hs
--- a/Data/ASN1/OID.hs
+++ b/Data/ASN1/OID.hs
@@ -8,14 +8,20 @@
 {-# LANGUAGE DeriveDataTypeable #-}
 module Data.ASN1.OID
     ( OID
-    -- * class
-    , ObjectIdable(..)
+    -- * classes
+    , OIDable(..)
+    , OIDNameable(..)
     ) where
 
 -- | Standard ASN.1 Object ID (OID)
 type OID = [Integer]
 
 -- | Class of things that have an Object ID
-class ObjectIdable a where
+class OIDable a where
     -- | return the object ID of an Object from the ObjectIdentifiable class.
     getObjectID :: a -> OID
+
+-- | Class of things that can be named by Object ID
+class OIDNameable a where
+    -- | Try to convert an OID into an Object
+    fromObjectID :: OID -> Maybe a
diff --git a/Data/ASN1/Types.hs b/Data/ASN1/Types.hs
--- a/Data/ASN1/Types.hs
+++ b/Data/ASN1/Types.hs
@@ -44,6 +44,7 @@
     | Visible   -- ^ International ASCII printing character sets
     | T61       -- ^ teletext
     | UTF32     -- ^ UTF32
+    | Character -- ^ Character
     | BMP       -- ^ UCS2
     deriving (Show,Eq)
 
diff --git a/asn1-types.cabal b/asn1-types.cabal
--- a/asn1-types.cabal
+++ b/asn1-types.cabal
@@ -1,5 +1,5 @@
 Name:                asn1-types
-Version:             0.1.0
+Version:             0.1.2
 Description:         ASN.1 standard types
 License:             BSD3
 License-file:        LICENSE
