diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for lens-witherable
 
-## 0.1.0.0 -- YYYY-mm-dd
+## 0.1.0.1 -- 2022-11-14
+
+* Add support for older versions of dependencies with cabal flags and CPP.
+
+## 0.1.0.0 -- 2022-11-14
 
 * First version. Released on an unsuspecting world.
diff --git a/lens-witherable.cabal b/lens-witherable.cabal
--- a/lens-witherable.cabal
+++ b/lens-witherable.cabal
@@ -1,6 +1,6 @@
 cabal-version:        2.4
 name:                 lens-witherable
-version:              0.1.0.0
+version:              0.1.0.1
 synopsis:             lens-compatible tools for working with witherable
 copyright:            Copyright (C) 2021-2022 Carl Howells
 license:              MIT
@@ -17,11 +17,23 @@
 extra-source-files:   CHANGELOG.md,
                       README.md
 
+
 library
     default-language: Haskell2010
     exposed-modules:  Witherable.Lens,
                       Witherable.Lens.Withering
-
-    build-depends:    base >=4.9 && <5,
-                      witherable >= 0.4 && < 0.5
     hs-source-dirs:   src
+
+    if flag(top-level-witherable)
+       cpp-options:   -DTOP_LEVEL_WITHERABLE
+       build-depends: witherable >= 0.4 && < 0.5,
+                      base >=4.9 && <5,
+    else
+       build-depends: witherable >= 0 && < 0.5,
+                      base >=4.8 && <4.16
+
+
+flag top-level-witherable
+    description:      Import Witherable instead of Data.Witherable
+    default:          True
+    manual:           False
diff --git a/src/Witherable/Lens.hs b/src/Witherable/Lens.hs
--- a/src/Witherable/Lens.hs
+++ b/src/Witherable/Lens.hs
@@ -1,7 +1,8 @@
+{-# Language CPP #-}
 {-|
 Module      : Witherable.Lens
 Description : Tools for using the Witherable interface with lens
-Copyright   : (c) Carl Howells, 2021
+Copyright   : (c) Carl Howells, 2021-2022
 License     : MIT
 Maintainer  : chowells79@gmail.com
 
@@ -11,7 +12,11 @@
 
 import Data.Functor.Identity (Identity(runIdentity))
 
+#ifdef TOP_LEVEL_WITHERABLE
 import Witherable (Witherable(wither))
+#else
+import Data.Witherable (Witherable(wither))
+#endif
 
 import Witherable.Lens.Withering
 
diff --git a/src/Witherable/Lens/Withering.hs b/src/Witherable/Lens/Withering.hs
--- a/src/Witherable/Lens/Withering.hs
+++ b/src/Witherable/Lens/Withering.hs
@@ -3,7 +3,7 @@
 {-|
 Module      : Witherable.Lens.Withering
 Description : MaybeT replacement type
-Copyright   : (c) Carl Howells, 2021
+Copyright   : (c) Carl Howells, 2021-2022
 License     : MIT
 Maintainer  : chowells79@gmail.com
 
