diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,17 @@
+Transformers-Base
+=================
+
+[![Travis](https://img.shields.io/travis/mvv/transformers-base/master.svg)](https://travis-ci.org/mvv/transformers-base) [![Hackage](https://img.shields.io/hackage/v/transformers-base.svg)](http://hackage.haskell.org/package/transformers-base)
+
+This package provides a straightforward port of [monadLib][monadLib]'s BaseM
+typeclass to [transformers][transformers].
+
+[monadLib]: http://hackage.haskell.org/package/monadLib
+[transformers]: http://hackage.haskell.org/package/transformers
+
+Installation
+------------
+The usual:
+
+	$ cabal install
+
diff --git a/src/Control/Monad/Base.hs b/src/Control/Monad/Base.hs
--- a/src/Control/Monad/Base.hs
+++ b/src/Control/Monad/Base.hs
@@ -19,9 +19,7 @@
   , liftBaseDefault
   ) where
 
-import Data.Monoid
 import Data.Functor.Identity
-import Control.Applicative (Applicative(..))
 import Control.Monad.Trans.Class
 import Control.Monad.Trans.Identity
 import Control.Monad.Trans.Maybe
@@ -36,10 +34,16 @@
 import Control.Monad.Trans.Error
 import Control.Monad.Trans.Cont
 import Control.Monad.Trans.Except
+import Control.Monad.Trans.Accum
+import Control.Monad.Trans.Select
+#if !MIN_VERSION_base(4,8,0)
+import Data.Monoid
+import Control.Applicative (Applicative(..))
+#endif
 #if !MIN_VERSION_base(4,4,0) && HS_TRANSFORMERS_BASE__ORPHANS
-import Control.Monad (ap)
 import qualified Control.Monad.ST.Lazy as L
 import qualified Control.Monad.ST.Strict as S
+import Data.Orphans ()
 #endif
 #if MIN_VERSION_base(4,4,0)
 import qualified Control.Monad.ST.Lazy.Safe as L
@@ -65,14 +69,6 @@
 BASE(STM)
 
 #if !MIN_VERSION_base(4,4,0) && HS_TRANSFORMERS_BASE__ORPHANS
-instance Applicative (L.ST s) where
-  pure  = return
-  (<*>) = ap
-
-instance Applicative (S.ST s) where
-  pure  = return
-  (<*>) = ap
-
 BASE(L.ST s)
 BASE(S.ST s)
 #endif
@@ -101,6 +97,7 @@
 TRANS(S.StateT s)
 TRANS(ContT r)
 TRANS(ExceptT e)
+TRANS(SelectT r)
 #undef TRANS
 
 #define TRANS_CTX(CTX, T) \
@@ -111,4 +108,5 @@
 TRANS_CTX(Monoid w, L.RWST r w s)
 TRANS_CTX(Monoid w, S.RWST r w s)
 TRANS_CTX(Error e,  ErrorT e)
+TRANS_CTX(Monoid w, AccumT w)
 #undef TRANS_CTX
diff --git a/transformers-base.cabal b/transformers-base.cabal
--- a/transformers-base.cabal
+++ b/transformers-base.cabal
@@ -1,5 +1,5 @@
 Name: transformers-base
-Version: 0.4.4
+Version: 0.4.5
 Category: Control
 Stability: experimental
 Synopsis: Lift computations from the bottom of a transformer stack
@@ -20,7 +20,13 @@
 License: BSD3
 License-File: LICENSE
 
-Cabal-Version: >= 1.6.0
+Extra-Source-Files:
+  README.md
+
+Tested-With: GHC==7.0.4, GHC==7.4.2, GHC==7.6.3, GHC==7.8.4,
+             GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1
+
+Cabal-Version: >= 1.8
 Build-Type: Simple
 
 Source-Repository head
@@ -29,18 +35,20 @@
 
 Flag OrphanInstances
   Description:
-    Declare orphan Applicative instances for lazy and strict ST if needed
+    Import orphan Applicative instances for lazy and strict ST if needed
   Default: True
 
 Library
   Build-Depends:
-    base                >= 3 && < 5,
+    base                >= 3 && < 5 && (< 4.4 || >= 4.5),
     stm                 >= 2.3,
     transformers        >= 0.2,
-    transformers-compat >= 0.2
+    transformers-compat >= 0.6
   Hs-Source-Dirs: src
   GHC-Options: -Wall
   if flag(OrphanInstances)
+    Build-Depends:
+      base-orphans >= 0.3
     CPP-Options: -DHS_TRANSFORMERS_BASE__ORPHANS=1
   else
     CPP-Options: -DHS_TRANSFORMERS_BASE__ORPHANS=0
