diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,7 +1,11 @@
 * Hackage: <http://hackage.haskell.org/package/FloatingHex>
 * GitHub:  <http://github.com/LeventErkok/FloatingHex/>
 
-* Latest Hackage released version: 0.3, 2017-01-15
+* Latest Hackage released version: 0.4, 2017-01-15
+
+### Version 0.4, 2017-01-15
+
+  * Export the new FloatingHexReader class. Useful when used as an API.
 
 ### Version 0.3, 2017-01-15
 
diff --git a/Data/Numbers/FloatingHex.hs b/Data/Numbers/FloatingHex.hs
--- a/Data/Numbers/FloatingHex.hs
+++ b/Data/Numbers/FloatingHex.hs
@@ -12,7 +12,14 @@
 -- We slightly diverge from the standard and do not allow for the "floating-suffix,"
 -- as the type inference of Haskell makes this unnecessary.
 -----------------------------------------------------------------------------
-module Data.Numbers.FloatingHex (hf, readHFloat, showHFloat) where
+module Data.Numbers.FloatingHex (
+        -- ** QuasiQuoting
+        hf
+        -- ** Reading hex-floats
+        , FloatingHexReader(..)
+        -- ** Showing hex-floats
+        , showHFloat
+        ) where
 
 import Data.Char  (toLower)
 import Data.Ratio ((%))
@@ -23,10 +30,10 @@
 import           Language.Haskell.TH.Quote
 
 -- | Due to intricacies of conversion between
--- float/doubles (see <https://ghc.haskell.org/trac/ghc/ticket/3676>), we explicitly introduce
+-- @Float@ and @Double@ types (see <http://ghc.haskell.org/trac/ghc/ticket/3676>), we explicitly introduce
 -- a class to do the reading properly.
 class RealFloat a => FloatingHexReader a where
-   -- | Convert a hex-float to a Real-Float, if possible
+   -- | Convert a hex-float from a string, if possible.
    readHFloat :: String -> Maybe a
 
 -- | The Float instance
@@ -118,7 +125,7 @@
                   Just d  -> return (TH.LitP (TH.RationalL (toRational d)))
                   Nothing -> fail $ "Invalid hexadecimal floating point number: |" ++ s ++ "|"
 
--- | Show a floating-point value in the hexadecimal format, similar to the @%a@ modifier in C's printf.
+-- | Show a floating-point value in the hexadecimal format, similar to the @%a@ specifier in C's printf.
 --
 -- >>> showHFloat (212.21 :: Double) ""
 -- "0x1.a86b851eb851fp7"
diff --git a/FloatingHex.cabal b/FloatingHex.cabal
--- a/FloatingHex.cabal
+++ b/FloatingHex.cabal
@@ -1,5 +1,5 @@
 Name:                FloatingHex
-Version:             0.3
+Version:             0.4
 Synopsis:            Read and write hexadecimal floating point numbers
 Description:         Read and write hexadecimal floating point numbers. Provides a quasiquoter for
                      entering hex-float literals, and a function for printing them in hexadecimal.
