diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
 `scheduleMatches`, which you can use to compare a time against a `CronSchedule`
 to see if an action needs to be performed.  System.Cron.Parser is where you will
 find the parsers `cronSchedule`, `crontabEntry` and `cronTab`. To parse
-individual schedules up to full crontab files. System.Cron.Descrive is where
+individual schedules up to full crontab files. System.Cron.Describe is where
 you will find the `describe` function for creating human-readable strings from
 cron schedules, as well as any options to control how the description is created.
 
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+# 0.6.0
+* Use Text instead of String in Cron.Schedule
 # 0.5.0
 * Add System.Cron.Describe which describes cron schedules in words (English only for now). Big thanks to Joe Canero for this feature!
 # 0.4.2
diff --git a/cron.cabal b/cron.cabal
--- a/cron.cabal
+++ b/cron.cabal
@@ -1,5 +1,5 @@
 Name:                cron
-Version:             0.5.0
+Version:             0.6.0
 Description:
   Cron data structure and Attoparsec parser. The idea is to embed it in larger
   systems which want to roll their own scheduled tasks in a format that people
diff --git a/src/System/Cron/Schedule.hs b/src/System/Cron/Schedule.hs
--- a/src/System/Cron/Schedule.hs
+++ b/src/System/Cron/Schedule.hs
@@ -53,7 +53,7 @@
 import           Control.Monad.Identity
 import           Control.Monad.State
 import           Data.Attoparsec.Text       (parseOnly)
-import           Data.Text                  (pack)
+import           Data.Text                  (Text)
 import           Data.Time
 #if !MIN_VERSION_time(1,5,0)
 import           System.Locale
@@ -115,11 +115,11 @@
 
 -------------------------------------------------------------------------------
 class MonadSchedule m where
-    addJob ::  IO () -> String -> m ()
+    addJob ::  IO () -> Text -> m ()
 
 instance (Monad m) => MonadSchedule (ScheduleT m) where
     addJob a t = do s :: Jobs <- get
-                    case parseOnly cronSchedule (pack t) of
+                    case parseOnly cronSchedule t of
                         Left  e  -> throwError $ ParseError e
                         Right t' -> put $ Job t' a : s
 
diff --git a/test/System/Test/Cron/Schedule.hs b/test/System/Test/Cron/Schedule.hs
--- a/test/System/Test/Cron/Schedule.hs
+++ b/test/System/Test/Cron/Schedule.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE OverloadedStrings #-}
+
 module System.Test.Cron.Schedule
     ( tests
     ) where
