diff --git a/Control/Lens.hs b/Control/Lens.hs
new file mode 100644
--- /dev/null
+++ b/Control/Lens.hs
@@ -0,0 +1,51 @@
+module Control.Lens (Lens, Refractor, Traversal,
+                     lens, iso,
+                     get, set, modify,
+                     fstL, sndL, swapL, unitL) where
+
+import Prelude hiding (id)
+
+import Control.Applicative
+import Control.Arrow
+import Control.Category
+import Control.Category.Unicode
+import Data.Bits (Bits (..))
+import Data.Bool (bool)
+import Data.Functor.Identity
+import Data.Tuple (swap)
+
+type Refractor c d α β a b = ∀ p f . (d f, c p) ⇒ p a (f b) → p α (f β)
+
+type Lens α β a b = Refractor ((~) (→)) Functor α β a b
+
+type Traversal α β a b = Refractor ((~) (→)) Applicative α β a b
+
+lens :: (α → a) → (b → α → β) → Lens α β a b
+lens get set ret = liftA2 fmap (flip set) (ret ∘ get)
+
+iso :: (α → a) → (b → β) → Lens α β a b
+iso f g = (fmap g ∘) ∘ (∘ f)
+
+get :: ((a → Const a b) → α → Const a β) → α → a
+get l = getConst ∘ l Const
+
+set :: ((a → Identity b) → α → Identity β) → b → α → β
+set l = modify l ∘ pure
+
+modify :: ((a → Identity b) → α → Identity β) → (a → b) → α → β
+modify l f = runIdentity ∘ l (Identity ∘ f)
+
+fstL :: Lens (a, c) (b, c) a b
+fstL = swapL ∘ sndL
+
+sndL :: Lens (a, b) (a, c) b c
+sndL f = id *** f >>> uncurry (fmap ∘ (,))
+
+swapL :: Lens (a, b) (c, d) (b, a) (d, c)
+swapL = iso swap swap
+
+unitL :: Lens α α () ()
+unitL = lens (pure ()) (\ () -> id)
+
+bitL :: Bits a => Int -> Lens a a Bool Bool
+bitL = liftA2 lens (flip testBit) (flip (flip ∘ bool clearBit setBit))
diff --git a/Data/Lens.hs b/Data/Lens.hs
deleted file mode 100644
--- a/Data/Lens.hs
+++ /dev/null
@@ -1,51 +0,0 @@
-module Data.Lens (Lens, Refractor,
-                  lens, iso,
-                  get, set, modify,
-                  fstL, sndL, swapL, unitL) where
-
-import Prelude hiding (id)
-
-import Control.Applicative
-import Control.Arrow
-import Control.Category
-import Control.Category.Unicode
-import Data.Bits (Bits (..))
-import Data.Bool (bool)
-import Data.Functor.Identity
-import Data.Tuple (swap)
-
-type Refractor c d α β a b = ∀ p f . (d f, c p) ⇒ p a (f b) → p α (f β)
-
-type Lens α β a b = Refractor ((~) (→)) Functor α β a b
-
-type Traversal α β a b = Refractor ((~) (→)) Applicative α β a b
-
-lens :: (α → a) → (b → α → β) → Lens α β a b
-lens get set ret = liftA2 fmap (flip set) (ret ∘ get)
-
-iso :: (α → a) → (b → β) → Lens α β a b
-iso f g = (fmap g ∘) ∘ (∘ f)
-
-get :: ((a → Const a b) → α → Const a β) → α → a
-get l = getConst ∘ l Const
-
-set :: ((a → Identity b) → α → Identity β) → b → α → β
-set l = modify l ∘ pure
-
-modify :: ((a → Identity b) → α → Identity β) → (a → b) → α → β
-modify l f = runIdentity ∘ l (Identity ∘ f)
-
-fstL :: Lens (a, c) (b, c) a b
-fstL = swapL ∘ sndL
-
-sndL :: Lens (a, b) (a, c) b c
-sndL f = id *** f >>> uncurry (fmap ∘ (,))
-
-swapL :: Lens (a, b) (c, d) (b, a) (d, c)
-swapL = iso swap swap
-
-unitL :: Lens α α () ()
-unitL = lens (pure ()) (\ () -> id)
-
-bitL :: Bits a => Int -> Lens a a Bool Bool
-bitL = liftA2 lens (flip testBit) (flip (flip ∘ bool clearBit setBit))
diff --git a/lenz.cabal b/lenz.cabal
--- a/lenz.cabal
+++ b/lenz.cabal
@@ -1,5 +1,5 @@
 name:           lenz
-version:        0.1.2.2
+version:        0.2.0.0
 synopsis:       Van Laarhoven lenses
 license:        OtherLicense
 license-file:   LICENSE
@@ -13,6 +13,6 @@
                 GHC ==8.0.*
 
 library
-  exposed-modules:      Data.Lens
+  exposed-modules:      Control.Lens
   build-depends:        base >= 4.8 && <5, base-unicode-symbols >= 0.1 && <0.3, transformers >=0.2 && <0.6
   extensions:           UnicodeSyntax, RankNTypes, ConstraintKinds, GADTs
