diff --git a/Changelog.txt b/Changelog.txt
new file mode 100644
--- /dev/null
+++ b/Changelog.txt
@@ -0,0 +1,32 @@
+commit 33ee7b37cfe93988ce2ff1955e4d6fdfda96d584
+Author: Paul H. Liu <paul@thev.net>
+Date:   Wed Jan 3 18:39:24 2018 -0800
+
+    Change version bounds for dependencies, support ExceptT instead of ErrorT, and bump version to 0.2.0
+
+commit 1087900d1b1e06ac51de46ac55a0a96b5f1405e0
+Merge: f77a470 69d8d7f
+Author: Paul Liu <ninegua@gmail.com>
+Date:   Mon Nov 9 14:40:32 2015 -0800
+
+    Merge pull request #1 from iblech/patch-1
+    
+    typo fix
+
+commit 69d8d7f40b67359b12aee90872ae9ac6b2f38c35
+Author: Ingo Blechschmidt <iblech@web.de>
+Date:   Mon Nov 9 13:25:12 2015 +0100
+
+    typo
+
+commit f77a4702809b9383823bf30da9dd37921083d3cf
+Author: Paul H. Liu <paul@thev.net>
+Date:   Thu Aug 30 23:15:18 2012 -0700
+
+    Release 0.1.0
+
+commit c71a439757a98c0cd3541eca3968edbf08c539ba
+Author: Paul LIu <ninegua@gmail.com>
+Date:   Sat Aug 25 16:50:16 2012 -0700
+
+    Initial commit
diff --git a/Control/Monad/Task.hs b/Control/Monad/Task.hs
--- a/Control/Monad/Task.hs
+++ b/Control/Monad/Task.hs
@@ -4,8 +4,8 @@
 programs into monads via co-routines. The idea is loosely
 based on /Combining Events And Threads For Scalable Network Services/,
 by Peng Li and Steve Zdancewic, in /PLDI/, 2007.
-(<http://www.cis.upenn.edu/~stevez/papers/abstracts.html#LZ07>), but 
-with deterministic and co-oprative lightweight threads, 
+(<http://www.cis.upenn.edu/~stevez/papers/abstracts.html#LZ07>), but
+with deterministic and co-operative lightweight threads,
 also known as co-routines, so that the base monad can be anything ranging 
 from IO to state monads, or your favorite monad transformer stack.
 
diff --git a/Control/Monad/Task/Class.hs b/Control/Monad/Task/Class.hs
--- a/Control/Monad/Task/Class.hs
+++ b/Control/Monad/Task/Class.hs
@@ -28,22 +28,22 @@
 import Control.Monad.Trans.Reader
 import qualified Control.Monad.Trans.Writer.Lazy as LazyWriter
 import qualified Control.Monad.Trans.Writer.Strict as StrictWriter
-import Control.Monad.Trans.Error
+import Control.Monad.Trans.Except
 
 -- | @MonadTask@ specifies a task monad @m@ over an event type @e@.
 class Monad m => MonadTask e m | m -> e where
   -- | @yield@ temporarily suspends current task to let others run. 
   yield  :: m ()
-  -- | @fork@ spawns a task and runs it immediate until it ends or 
+  -- | @fork@ spawns a task and runs it immediately until it ends or
   --   suspends before returning to current task.
   fork   :: m a -> m ()
-  -- | @watch@ suspends current task to wait for future events, and will
+  -- | @watch@ suspends the current task to wait for future events, and will
   --   resume execution when an event triggers its watching function. 
   watch  :: (e -> Maybe a) -> m a
   -- | @signal@ broadcasts an event to all other tasks that are watching,
   --   and give those who wake up the priority to run.
   signal :: e -> m ()
-  -- | @exit@ ends all tasks and return immediately.
+  -- | @exit@ ends all tasks and returns immediately.
   exit   :: m ()
 
 -- | @orElse@ is a helper function for combining two trigger functions 
@@ -51,10 +51,10 @@
 orElse :: (e -> Maybe a) -> (e -> Maybe b) -> e -> Maybe (Either a b)
 orElse f g x = maybe (fmap Right (g x)) (Just . Left) (f x)
 
-instance (Error e, Monad m, MonadTask a m) => MonadTask a (ErrorT e m) where
+instance (Monad m, MonadTask a m) => MonadTask a (ExceptT e m) where
   exit   = lift exit
   yield  = lift yield
-  fork   = lift . fork . runErrorT 
+  fork   = lift . fork . runExceptT
   watch  = lift . watch
   signal = lift . signal
 
diff --git a/monad-task.cabal b/monad-task.cabal
--- a/monad-task.cabal
+++ b/monad-task.cabal
@@ -1,5 +1,5 @@
 name:         monad-task
-version:      0.1.0
+version:      0.2.0
 homepage:     http://github.com/ninegua/monad-task
 author:       Paul Liu
 maintainer:   Paul Liu <paul@thev.net>
@@ -14,7 +14,7 @@
     based on /Combining Events And Threads For Scalable Network Services/,
     by Peng Li and Steve Zdancewic, in /PLDI/, 2007.
     (<http://www.cis.upenn.edu/~stevez/papers/abstracts.html#LZ07>), but 
-    with deterministic and co-oprative lightweight threads, also known as 
+    with deterministic and co-operative lightweight threads, also known as 
     co-routines, so that the base monad can be anything ranging from IO 
     to state monads, or your favorite monad transformer stack.
 license:      BSD3
@@ -22,6 +22,7 @@
 
 extra-source-files: 
   README.md
+  Changelog.txt
 
 source-repository head
   type: git
@@ -32,6 +33,6 @@
     Control.Monad.Task
     Control.Monad.Task.Class
     Control.Monad.Trans.Task
-  build-depends: base < 6, mtl == 2.*, transformers < 0.4
+  build-depends: base < 6, mtl == 2.*, transformers > 0.4 && < 0.6
   extensions:
   ghc-options: -Wall -fno-warn-unused-imports
