diff --git a/Acme/LOLCAT.hs b/Acme/LOLCAT.hs
--- a/Acme/LOLCAT.hs
+++ b/Acme/LOLCAT.hs
@@ -19,6 +19,7 @@
 
 import Text.Parsec
 import Text.Parsec.Text()
+import Text.Parsec.Prim (runP)
 
 import Control.Applicative ((<$>),(<*),(<*>))
 import Control.Arrow
@@ -82,7 +83,7 @@
       Just n = OH HAI I CAN HAZ IO? THXBYE
                <*> Just (randomRIO (1,10)) :: Maybe Int
 
-      base = T.toUpper $ last $ scanl f src rules
+      base = T.toUpper . last . flip (scanl f) rules . T.toLower $ src
       f s (pat,repls) = replace pat (variants repls) s
 
 
@@ -102,8 +103,8 @@
     toText = T.pack
 
 
--- | >>> translate "You too can speak like a lolcat!"
--- YOU 2 CAN SPEKK LIEK LOLCAT! THXBYE.
+-- | >>> translate "Catamorphisms are generalizations of the concept of a fold in functional programming."
+-- "CAT-A-MURRFISMS AR GENERALIZASHUNS OV TEH CONCEPT OV FOLD IN FUNCSHUNAL PROGRAMMNG. THX."
 translate :: KindaText s => s -> s
 translate = fromText . translateT . toText
 
@@ -163,7 +164,7 @@
  ("more",			["moar"]),
  ("my",				["muh", "mah"]),
  ("are",			["r", "is", "ar"]),
- (word "a",			[""]),
+ (" a ",			[" "]),
  ("eese",			["eez"]),
  ("catamorphi",			["cat-a-murrphi"]),
  ("morphi",			["murrphi"]),
diff --git a/Acme/LOLCAT/IO.hs b/Acme/LOLCAT/IO.hs
--- a/Acme/LOLCAT/IO.hs
+++ b/Acme/LOLCAT/IO.hs
@@ -2,10 +2,18 @@
 --   Copyright:   (c) 2013 Antonio Nikishaev
 --   License:     BSD
 --   Maintainer:  me@lelf.lu
+-- 
+-- >>> (OH HAI I CAN HAZ ЙO? THXBYE <*> putStrLn) "LOL" == ()
+-- LOL
+-- True
+
+
+
 {-# LANGUAGE Unsafe #-}
 
 module Acme.LOLCAT.IO (OH(..),HAI(..),I(..),CAN(..),HAZ(..),
-                       IO(..),YO(..),(?),THXBYE(..)) where
+                       IO(..),ÏO(..),ЙО(..),ЙO(..),YO(..),
+                       (?),THXBYE(..)) where
 
 import Prelude hiding (IO)
 import System.IO.Unsafe (unsafePerformIO)
@@ -15,6 +23,9 @@
 data OH a b c d e = OH a b c d e
 data I = I
 data IO = IO
+data ÏO = ÏO
+data ЙО = ЙО
+data ЙO = ЙO
 data YO = YO
 data CAN = CAN
 data HAZ = HAZ
diff --git a/acme-lolcat.cabal b/acme-lolcat.cabal
--- a/acme-lolcat.cabal
+++ b/acme-lolcat.cabal
@@ -1,5 +1,5 @@
 name:                acme-lolcat
-version:             0.1
+version:             0.1.1
 homepage:            https://github.com/llelf/acme-lolcat
 synopsis:            LOLSPEAK translator
 description:	     LOLSPEAK translator
@@ -7,20 +7,22 @@
 license-file:        LICENSE
 author:              Antonio Nikishaev <me@lelf.lu>
 maintainer:          Antonio Nikishaev <me@lelf.lu>
-copyright:           2013,2014 Antonio Nikishaev
+copyright:           2013–2015 Antonio Nikishaev
 category:            Acme
 build-type:          Simple
 cabal-version:       >=1.14
 extra-source-files:  README.markdown
-tested-with:         GHC==7.6.3, GHC==7.8.3, GHC==7.9.20140419
+tested-with:         GHC==7.8.3, GHC==7.11.20150317
 
 library
   exposed-modules:     Acme.LOLCAT, Acme.LOLCAT.IO
   build-depends:       
-        base >= 4.5 && < 5, parsec >= 1.3.1, text >= 0.11.3.1,
+        base >= 4.5 && < 5,
+        parsec >= 3.1.2,
+        text >= 0.11.3.1,
         random >= 1.0.1.1, random-shuffle >= 0.0.4
   default-language:    Haskell2010
---  ghc-options: -Wall
+  --ghc-options: -Wall
 
 source-repository head
   type:     git
