diff --git a/NLP/Minimorph/English.hs b/NLP/Minimorph/English.hs
--- a/NLP/Minimorph/English.hs
+++ b/NLP/Minimorph/English.hs
@@ -1,6 +1,5 @@
 {-# LANGUAGE ViewPatterns, OverloadedStrings #-}
 -- TODO : learn how to use Functional Morphology instead
--- http://www.paulnoll.com/Books/Clear-English/English-plurals-1.html
 
 -- | Module    : NLP.Minimorph.English
 -- Copyright   : 2012 Eric Kow (Computational Linguistics Ltd.)
@@ -60,6 +59,8 @@
 -- > defaultNounPlural "boy"    == "boys"
 -- > defaultNounPlural "spy"    == "spies"
 -- > defaultNounPlural "thesis" == "theses"
+--
+-- http://www.paulnoll.com/Books/Clear-English/English-plurals-1.html
 defaultNounPlural :: Text -> Text
 defaultNounPlural x
     | "is" `T.isSuffixOf` x = thesis
@@ -98,13 +99,16 @@
 --   > indefiniteDet "egg"  == "an"
 --   > indefiniteDet "ewe"  == "a"
 --   > indefiniteDet "ewok" == "an"
+--   > indefiniteDet "8th"  == "an"
 indefiniteDet :: Text -> Text
 indefiniteDet (T.toLower -> t) =
     if useAn then "an" else "a"
   where
-    useAn = case T.uncons t of
-                Just (h,_) -> isVowel h `butNot` hasSemivowelPrefix t
-                Nothing    -> False
+    useAn  = t `elem` [ "11", "11th" ] || useAn'
+    useAn' = case T.uncons t of
+                Just ('8',_) -> True
+                Just (h,_)   -> isVowel h `butNot` hasSemivowelPrefix t
+                Nothing      -> False
     x `butNot` y = x && not y
 
 -- | Ends with a sh sound
@@ -121,9 +125,8 @@
 hasCySuffix _ = False
 
 -- | Is a vowel
---   (this includes @'1'@ and @'8'@ because of @"one"@ and @"eight"@)
 isVowel :: Char -> Bool
-isVowel = (`elem` "aeiouAEIOU18")
+isVowel = (`elem` "aeiouAEIOU")
 
 -- | Is a consonant
 isConsonant :: Char -> Bool
diff --git a/NLP/Minimorph/Number.hs b/NLP/Minimorph/Number.hs
new file mode 100644
--- /dev/null
+++ b/NLP/Minimorph/Number.hs
@@ -0,0 +1,17 @@
+module NLP.Minimorph.Number where
+
+import Data.Text ( Text )
+
+-- | Singular and Plural
+data SingPlu a = SP
+    { sg :: a
+    , pl :: a
+    }
+  deriving (Show, Eq)
+
+data Number = Singular | Plural
+  deriving (Eq, Show)
+
+fromSP :: Number -> SingPlu a -> a
+fromSP Singular = sg
+fromSP Plural   = pl
diff --git a/minimorph.cabal b/minimorph.cabal
--- a/minimorph.cabal
+++ b/minimorph.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                minimorph
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            English spelling functions with an emphasis on simplicity.
 description:         A set of simplistic functions capturing the more regular
                      parts of English spelling (for generation, not parsing).
@@ -29,6 +29,7 @@
 
 library
   exposed-modules:     NLP.Minimorph.English
+                       NLP.Minimorph.Number
                        NLP.Minimorph.Util
   -- other-modules:       
   build-depends:       base < 5
