diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # CHANGELOG
 
+## 0.1.0
+### Changed
+* Use `hset-1.0.0`
+
 ## 0.0.2
 Make it compilable on base-4.7
 
diff --git a/hreader.cabal b/hreader.cabal
--- a/hreader.cabal
+++ b/hreader.cabal
@@ -1,5 +1,5 @@
 name:                hreader
-version:             0.0.2
+version:             0.1.0
 synopsis:            Generalization of MonadReader and ReaderT
 license:             BSD3
 license-file:        LICENSE
@@ -34,7 +34,7 @@
 
   build-depends:       base  >= 4.7   && < 5
                      , exceptions
-                     , hset  >= 0.1.0 && < 1.0.0
+                     , hset  >= 1.0.0 && < 2.0.0
                      , mmorph
                      , monad-control
                      , mtl
diff --git a/src/Control/Monad/HReader.hs b/src/Control/Monad/HReader.hs
--- a/src/Control/Monad/HReader.hs
+++ b/src/Control/Monad/HReader.hs
@@ -49,7 +49,7 @@
     lift $ do
       local f $ runHReaderT h ma
 
-instance (Monad m) => MonadHReader (HReaderT els m) where
+instance (Monad m, Applicative m) => MonadHReader (HReaderT els m) where
   type HSetElements (HReaderT els m) = els
   askHSet = HReaderT ask
 
diff --git a/src/Control/Monad/HReader/Class.hs b/src/Control/Monad/HReader/Class.hs
--- a/src/Control/Monad/HReader/Class.hs
+++ b/src/Control/Monad/HReader/Class.hs
@@ -29,21 +29,17 @@
 
 
 -- | Monad which is a reader of HSet (or just can construct it).
-#if MIN_VERSION_base(4, 8, 0)
-class (Monad m) => MonadHReader m where
-#else
 class (Monad m, Applicative m) => MonadHReader m where
-#endif
   type HSetElements m :: [*]
   askHSet :: m (HSet (HSetElements m))
 
 -- | Ask arbitrary element of hset inside HReader
-haskM :: (MonadHReader m, Contains (HSetElements m) e)
+haskM :: (MonadHReader m, HGetable (HSetElements m) e)
       => m e
 haskM = hget <$> askHSet
 
 -- | Ask arbitrary labeled element of hset in HReader
-haskLabeledM :: (MonadHReader m, Contains (HSetElements m) (Labeled label e))
+haskLabeledM :: (MonadHReader m, HGetable (HSetElements m) (Labeled label e))
              => proxy label -> m e
 haskLabeledM p = hgetLabeled p <$> askHSet
 
