diff --git a/bookkeeping.cabal b/bookkeeping.cabal
--- a/bookkeeping.cabal
+++ b/bookkeeping.cabal
@@ -1,5 +1,5 @@
 name:                bookkeeping
-version:             0.3.0.0
+version:             0.3.1.0
 synopsis:            A module for bookkeeping by double entry.
 description:
     A module for bookkeeping by double entry. This module provides a way to do bookkeeping programmatically.
diff --git a/src/Business/Bookkeeping.hs b/src/Business/Bookkeeping.hs
--- a/src/Business/Bookkeeping.hs
+++ b/src/Business/Bookkeeping.hs
@@ -45,7 +45,7 @@
   , SubDescription
   , Amount
   , Category(..)
-  , CategoryName
+  , CategoryName(..)
   , CategoryType(..)
   , DebitCategory(..)
   , CreditCategory(..)
@@ -278,26 +278,16 @@
   } deriving (Show, Read, Ord, Eq)
 
 data CategoryName = CategoryName
-  { name :: Text
-  , sub :: Maybe Text
+  { unCategoryName :: Text
+  , unCategorySubName :: Maybe Text
   } deriving (Show, Read, Ord, Eq)
 
-
-unCategoryName :: CategoryName -> Text
-unCategoryName CategoryName {..} = name
-
-unCategorySubName :: CategoryName -> Maybe Text
-unCategorySubName CategoryName {..} = sub
-
 categoryName :: Text -> Maybe Text -> CategoryName
 categoryName = CategoryName
 
 instance IsString CategoryName where
   fromString str =
-    CategoryName
-      { name = fromString str
-      , sub = Nothing
-      }
+    CategoryName (fromString str) Nothing
 
 data CategoryType
   = Assets
