diff --git a/Todos/Default/CmdLine.hs b/Todos/Default/CmdLine.hs
--- a/Todos/Default/CmdLine.hs
+++ b/Todos/Default/CmdLine.hs
@@ -198,7 +198,7 @@
              → [String]              -- ^ Command line args
              → Either String (Options, [FilePath]) -- ^ Error message or (Options, list of files)
 parseCmdLine' currDate args = 
-  case getOpt Permute (options currDate) (map decodeString args) of
+  case getOpt Permute (options currDate) (map ensureUnicode args) of
         (flags, [],      [])     → Right (parseFlags flags, ["TODO"])
         (flags, nonOpts, [])     → Right (parseFlags flags, nonOpts)
         (_,     _,       msgs)   → Left $ concat msgs ⧺ usage
diff --git a/Todos/IO.hs b/Todos/IO.hs
--- a/Todos/IO.hs
+++ b/Todos/IO.hs
@@ -2,7 +2,7 @@
 -- | Wrapper to support unicode IO with GHC 6.10 and 6.12
 module Todos.IO 
   (putStr, putStrLn,readFile,getContents,print,
-   encodeString, decodeString)
+   encodeString, decodeString, ensureUnicode)
   where
 
 import Codec.Binary.UTF8.String (encodeString, decodeString)
@@ -12,8 +12,14 @@
 import Prelude hiding (putStr, putStrLn,readFile,getContents,print)
 import System.IO.UTF8
 
+ensureUnicode :: String -> String
+ensureUnicode = decodeString
+
 #else
 
 import Prelude
+
+ensureUnicode :: String -> String
+ensureUnicode = id
 
 #endif
diff --git a/Todos/Main.hs b/Todos/Main.hs
--- a/Todos/Main.hs
+++ b/Todos/Main.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE UnicodeSyntax #-}
+{-# LANGUAGE UnicodeSyntax, CPP #-}
 
 module Todos.Main
   (module Todos.Default,
@@ -73,6 +73,11 @@
 todos = wrapMain $ defaultParams {
     projectName = "todos",
     realMain    = realTodos,
+    ghcOpts     = [
+#ifdef PROFILE
+                   "-prof", "-auto-all"
+#endif
+                  ],
     statusOut   = const (return ())
     }
 
diff --git a/todos.cabal b/todos.cabal
--- a/todos.cabal
+++ b/todos.cabal
@@ -1,5 +1,5 @@
 Name:           todos
-Version:        0.5.3.1
+Version:        0.5.3.2
 Cabal-Version:  >= 1.8
 License:        BSD3
 License-File:   LICENSE
@@ -17,6 +17,7 @@
 
 flag with_curses
   Description: Build Todos.Default.Curses module, for ncurses output.
+  Default: False
 
 library
   Exposed-Modules: Todos
@@ -45,7 +46,7 @@
   Build-Depends:  base >= 3 && <= 5, containers, parsec >= 3,
                   syb, mtl, ansi-terminal, Glob, time, regex-pcre, directory, filepath,
                   process, data-hash, dyre, utf8-string, base-unicode-symbols >= 0.2.2.1,
-                  dates ==0.1.*
+                  dates >= 0.1.2.0
 
   if flag(with_curses)
     Exposed-Modules: Todos.Default.Curses
@@ -82,7 +83,7 @@
   Build-Depends:  base >= 3 && <= 5, containers, parsec >= 3,
                   syb, mtl, ansi-terminal, Glob, time, regex-pcre, directory, filepath,
                   process, data-hash, dyre, utf8-string, base-unicode-symbols >= 0.2.2.1,
-                  dates >=0.1.1.0
+                  dates >=0.1.2.0
 
 Source-repository head
   type:     git
