diff --git a/app/Main.hs b/app/Main.hs
deleted file mode 100644
--- a/app/Main.hs
+++ /dev/null
@@ -1,6 +0,0 @@
-module Main where
-
-import           Teleport
-
-main :: IO ()
-main = exec
diff --git a/shift.cabal b/shift.cabal
--- a/shift.cabal
+++ b/shift.cabal
@@ -1,6 +1,6 @@
 cabal-version: >=1.10
 name: shift
-version: 0.2.0.2
+version: 0.2.0.3
 license: MIT
 license-file: LICENSE
 copyright: 2010 Siddharth Bhat, 2017 Vanessa McHale
@@ -22,14 +22,14 @@
     type: git
     location: https://github.com/vmchale/teleport
 
-library
-    exposed-modules:
-        Teleport
+executable teleport-hask
+    main-is: Teleport.hs
     hs-source-dirs: src
     other-modules:
         Paths_shift
     default-language: Haskell2010
-    default-extensions: DeriveAnyClass DeriveGeneric
+    other-extensions: DeriveAnyClass DeriveGeneric OverloadedStrings
+                      RecordWildCards
     ghc-options: -fwarn-unused-imports
     build-depends:
         base >=4.7 && <5,
@@ -44,12 +44,3 @@
         ansi-terminal -any,
         system-fileio -any,
         data-default -any
-
-executable teleport-hask
-    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
@@ -2,9 +2,8 @@
 {-# LANGUAGE DeriveGeneric     #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE TemplateHaskell   #-}
 
-module Teleport where
+module Main (main) where
 
 import           Control.Composition       hiding ((&))
 import           Control.Monad
@@ -14,7 +13,6 @@
 import           Data.Default
 import           Data.List
 import           Data.Maybe
-import           Data.Monoid
 import qualified Data.Text                 as T
 import           Data.Text.Encoding
 import           Data.Version
@@ -60,8 +58,8 @@
 absFolderPath :: Lens' WarpPoint String
 absFolderPath f s = fmap (\x -> s { _absFolderPath = x}) (f (_absFolderPath s))
 
-exec :: IO ()
-exec = execParser opts >>= run
+main :: IO ()
+main = execParser opts >>= run
     where versionInfo = infoOption ("teleport version: " ++ showVersion version) (short 'v' <> long "version" <> help "Show version")
           opts        = info (helper <*> versionInfo <*> parseCommand)
                              (fullDesc
@@ -113,9 +111,9 @@
 parseCommand :: Parser Command
 parseCommand = hsubparser
     (command "add" (info parseAddCommand (progDesc "add a warp point"))
-    <> (command "list" (info (pure Display) (progDesc "list all warp points")))
-    <> (command "del" (info parseRemoveCommand (progDesc "delete a warp point")))
-    <> (command "to" (info parseGotoCommand (progDesc "go to a created warp point"))))
+    <> command "list" (info (pure Display) (progDesc "list all warp points"))
+    <> command "del" (info parseRemoveCommand (progDesc "delete a warp point"))
+    <> command "to" (info parseGotoCommand (progDesc "go to a created warp point")))
 
 setErrorColor :: IO ()
 setErrorColor = setSGR [SetColor Foreground Vivid Red]
