diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -1,6 +1,6 @@
 module Main where
 
-import Teleport
+import           Teleport
 
 main :: IO ()
 main = exec
diff --git a/shift.cabal b/shift.cabal
--- a/shift.cabal
+++ b/shift.cabal
@@ -1,51 +1,55 @@
-name:                shift
-version:             0.2.0.1
-synopsis:            A tool to quickly switch between directories
-description:         This is a command-line tool to "teleport" between directories
-homepage:            https://github.com/vmchale/teleport#readme
-license:             MIT
-license-file:        LICENSE
-author:              Siddharth Bhat, Vanessa McHale
-maintainer:          vamchale@gmail.com
-copyright:           2010 Siddharth Bhat, 2017 Vanessa McHale
-category:            Tools
-build-type:          Simple
-bug-reports:         https://github.com/vmchale/teleport/issues 
-stability:           unstable
-cabal-version:       >=1.10
-extra-source-files:  README.md
-                   , stack.yaml
-                   , bash/teleport
+cabal-version: >=1.10
+name: shift
+version: 0.2.0.2
+license: MIT
+license-file: LICENSE
+copyright: 2010 Siddharth Bhat, 2017 Vanessa McHale
+maintainer: vamchale@gmail.com
+author: Siddharth Bhat, Vanessa McHale
+stability: unstable
+homepage: https://github.com/vmchale/teleport#readme
+bug-reports: https://github.com/vmchale/teleport/issues
+synopsis: A tool to quickly switch between directories
+description:
+    This is a command-line tool to "teleport" between directories
+category: Tools
+build-type: Simple
+extra-source-files:
+    README.md
+    bash/teleport
 
+source-repository head
+    type: git
+    location: https://github.com/vmchale/teleport
+
 library
-  hs-source-dirs:      src
-  exposed-modules:     Teleport
-  other-modules:       Paths_shift
-  build-depends:       base >= 4.7 && < 5
-                     , turtle
-                     , optparse-applicative
-                     , system-filepath
-                     , text
-                     , binary
-                     , composition
-                     , lens
-                     , bytestring
-                     , ansi-terminal
-                     , system-fileio
-                     , data-default
-  default-language:    Haskell2010
-  default-extensions:  DeriveAnyClass
-                     , DeriveGeneric
-  ghc-options:         -fwarn-unused-imports
+    exposed-modules:
+        Teleport
+    hs-source-dirs: src
+    other-modules:
+        Paths_shift
+    default-language: Haskell2010
+    default-extensions: DeriveAnyClass DeriveGeneric
+    ghc-options: -fwarn-unused-imports
+    build-depends:
+        base >=4.7 && <5,
+        turtle -any,
+        optparse-applicative -any,
+        system-filepath -any,
+        text -any,
+        binary -any,
+        composition-prelude -any,
+        microlens -any,
+        bytestring -any,
+        ansi-terminal -any,
+        system-fileio -any,
+        data-default -any
 
 executable teleport-hask
-  hs-source-dirs:      app
-  main-is:             Main.hs
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
-  build-depends:       base
-                     , shift
-  default-language:    Haskell2010
-
-source-repository head
-  type:     git
-  location: https://github.com/vmchale/teleport
+    main-is: Main.hs
+    hs-source-dirs: app
+    default-language: Haskell2010
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N
+    build-depends:
+        base -any,
+        shift -any
diff --git a/src/Teleport.hs b/src/Teleport.hs
--- a/src/Teleport.hs
+++ b/src/Teleport.hs
@@ -6,12 +6,11 @@
 
 module Teleport where
 
-import           Control.Lens              hiding (argument)
+import           Control.Composition       hiding ((&))
 import           Control.Monad
 import           Data.Binary
 import qualified Data.ByteString           as BS
 import qualified Data.ByteString.Lazy      as BSL
-import           Data.Composition
 import           Data.Default
 import           Data.List
 import           Data.Maybe
@@ -22,12 +21,13 @@
 import           Filesystem                as P
 import qualified Filesystem.Path.CurrentOS as P
 import           GHC.Generics
+import           Lens.Micro                hiding (argument)
 import           Options.Applicative
 import           Paths_shift
 import           Prelude                   hiding (FilePath)
 import           System.Console.ANSI
 import           System.Environment
-import           Turtle                    hiding (find, header)
+import           Turtle                    hiding (find, header, (&))
 
 -- | options for 'warp add'
 data AddOptions = AddOptions { folderPath :: Maybe String,
@@ -43,14 +43,22 @@
 data Command = Display | Add AddOptions | Remove RemoveOptions | Goto GotoOptions
 
 -- an abstract entity representing a point to which we can warp to
-data WarpPoint = WarpPoint { _name          :: String,
-                             _absFolderPath :: String } deriving (Default, Generic, Binary)
+data WarpPoint = WarpPoint { _name          :: String
+                           , _absFolderPath :: String }
+               deriving (Default, Generic, Binary)
 
 -- the main data that is loaded from config
-newtype WarpData = WarpData { _warpPoints :: [WarpPoint] } deriving (Default, Generic, Binary)
+newtype WarpData = WarpData { _warpPoints :: [WarpPoint] }
+                 deriving (Default, Generic, Binary)
 
-makeLenses ''WarpData
-makeLenses ''WarpPoint
+warpPoints :: Lens' WarpData [WarpPoint]
+warpPoints f s = fmap (\x -> s { _warpPoints = x }) (f (_warpPoints s))
+
+name :: Lens' WarpPoint String
+name f s = fmap (\x -> s { _name = x}) (f (_name s))
+
+absFolderPath :: Lens' WarpPoint String
+absFolderPath f s = fmap (\x -> s { _absFolderPath = x}) (f (_absFolderPath s))
 
 exec :: IO ()
 exec = execParser opts >>= run
diff --git a/stack.yaml b/stack.yaml
deleted file mode 100644
--- a/stack.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-resolver: lts-8.23
-packages:
-- '.'
-extra-deps: []
-flags: {}
-extra-package-dbs: []
