diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,2 +1,5 @@
+# 0.2.0.3
+* removed the base-noprelude dependency in favor of using a `hiding` mixin
+
 # 0.1.0.0
 * initial release
diff --git a/lib/Polysemy/Http/AesonEntity.hs b/lib/Polysemy/Http/AesonEntity.hs
--- a/lib/Polysemy/Http/AesonEntity.hs
+++ b/lib/Polysemy/Http/AesonEntity.hs
@@ -1,7 +1,6 @@
 module Polysemy.Http.AesonEntity where
 
-import Data.Aeson (FromJSON, ToJSON, eitherDecode', eitherDecodeStrict', encode)
-import Polysemy (Sem, interpret)
+import Data.Aeson (eitherDecode', eitherDecodeStrict', encode)
 
 import Polysemy.Http.Data.Entity (EntityDecode, EntityEncode, EntityError(EntityError))
 import qualified Polysemy.Http.Data.Entity as Entity (EntityDecode(..), EntityEncode(..))
diff --git a/lib/Polysemy/Http/Strict.hs b/lib/Polysemy/Http/Strict.hs
--- a/lib/Polysemy/Http/Strict.hs
+++ b/lib/Polysemy/Http/Strict.hs
@@ -1,12 +1,11 @@
 module Polysemy.Http.Strict where
 
-import Polysemy (interpretH, pureT)
+import Polysemy (interpretH)
 import Polysemy.Internal.Tactics hiding (liftT)
 
 import Polysemy.Http.Data.Header (Header(Header))
 import qualified Polysemy.Http.Data.Http as Http
 import Polysemy.Http.Data.Http (Http)
-import Polysemy.Http.Data.HttpError (HttpError)
 import Polysemy.Http.Data.Response (Response(Response))
 
 takeResponse ::
diff --git a/polysemy-http.cabal b/polysemy-http.cabal
--- a/polysemy-http.cabal
+++ b/polysemy-http.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           polysemy-http
-version:        0.2.0.2
+version:        0.2.0.3
 synopsis:       Polysemy effect for http-client
 description:    Please see the README on Github at <https://github.com/tek/polysemy-http>
 category:       Network
@@ -55,11 +55,11 @@
   hs-source-dirs:
       lib
   default-extensions: AllowAmbiguousTypes ApplicativeDo BangPatterns BinaryLiterals BlockArguments ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DerivingVia DoAndIfThenElse EmptyDataDecls ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PackageImports PartialTypeSignatures PatternGuards PatternSynonyms PolyKinds QuantifiedConstraints QuasiQuotes RankNTypes RecordWildCards RecursiveDo ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances UndecidableInstances UnicodeSyntax ViewPatterns
-  ghc-options: -fplugin=Polysemy.Plugin -O2 -flate-specialise -fspecialise-aggressively
+  ghc-options: -fplugin=Polysemy.Plugin -flate-specialise -fspecialise-aggressively -Wall
   build-depends:
       aeson >=1.4.4.0
     , ansi-terminal >=0.9.1
-    , base-noprelude >=4 && <5
+    , base >=4 && <5
     , bytestring
     , case-insensitive >=1.2
     , co-log-core >=0.2.1
@@ -79,6 +79,10 @@
     , string-interpolate >=0.2.1
     , template-haskell >=2.14.0
     , text >=1.2.3
+  mixins:
+      base hiding (Prelude)
+  if impl(ghc < 8.10)
+    ghc-options: -O2
   default-language: Haskell2010
 
 test-suite polysemy-http-integration
@@ -93,11 +97,11 @@
   hs-source-dirs:
       integration
   default-extensions: AllowAmbiguousTypes ApplicativeDo BangPatterns BinaryLiterals BlockArguments ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DerivingVia DoAndIfThenElse EmptyDataDecls ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PackageImports PartialTypeSignatures PatternGuards PatternSynonyms PolyKinds QuantifiedConstraints QuasiQuotes RankNTypes RecordWildCards RecursiveDo ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances UndecidableInstances UnicodeSyntax ViewPatterns
-  ghc-options: -fplugin=Polysemy.Plugin -O2 -flate-specialise -fspecialise-aggressively -threaded -rtsopts -with-rtsopts=-N
+  ghc-options: -fplugin=Polysemy.Plugin -flate-specialise -fspecialise-aggressively -Wall -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       aeson >=1.4.4.0
     , ansi-terminal >=0.9.1
-    , base-noprelude >=4 && <5
+    , base >=4 && <5
     , bytestring
     , case-insensitive >=1.2
     , co-log-core >=0.2.1
@@ -127,8 +131,11 @@
     , text >=1.2.3
     , warp
   mixins:
-      polysemy-http hiding (Prelude)
+      base hiding (Prelude)
+    , polysemy-http hiding (Prelude)
     , polysemy-http (Polysemy.Http.Prelude as Prelude)
+  if impl(ghc < 8.10)
+    ghc-options: -O2
   default-language: Haskell2010
 
 test-suite polysemy-http-unit
@@ -142,11 +149,11 @@
   hs-source-dirs:
       test
   default-extensions: AllowAmbiguousTypes ApplicativeDo BangPatterns BinaryLiterals BlockArguments ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DerivingVia DoAndIfThenElse EmptyDataDecls ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PackageImports PartialTypeSignatures PatternGuards PatternSynonyms PolyKinds QuantifiedConstraints QuasiQuotes RankNTypes RecordWildCards RecursiveDo ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances UndecidableInstances UnicodeSyntax ViewPatterns
-  ghc-options: -fplugin=Polysemy.Plugin -O2 -flate-specialise -fspecialise-aggressively -threaded -rtsopts -with-rtsopts=-N
+  ghc-options: -fplugin=Polysemy.Plugin -flate-specialise -fspecialise-aggressively -Wall -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       aeson >=1.4.4.0
     , ansi-terminal >=0.9.1
-    , base-noprelude >=4 && <5
+    , base >=4 && <5
     , bytestring
     , case-insensitive >=1.2
     , co-log-core >=0.2.1
@@ -171,6 +178,9 @@
     , template-haskell >=2.14.0
     , text >=1.2.3
   mixins:
-      polysemy-http hiding (Prelude)
+      base hiding (Prelude)
+    , polysemy-http hiding (Prelude)
     , polysemy-http (Polysemy.Http.Prelude as Prelude)
+  if impl(ghc < 8.10)
+    ghc-options: -O2
   default-language: Haskell2010
