diff --git a/HulkImport.cabal b/HulkImport.cabal
--- a/HulkImport.cabal
+++ b/HulkImport.cabal
@@ -1,5 +1,5 @@
 name:                HulkImport
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Easily bulk import CSV data to SQL Server
 description:         Please see README.md
 homepage:            http://github.com/tobs169/HulkImport#readme
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -1,9 +1,38 @@
 module Main where
 
+import System.Environment
+import System.Console.GetOpt
+
 import HulkImport
 
+data Options = Options {
+      optInput :: FilePath,
+      optOutput :: FilePath
+    }
+
 main :: IO ()
-main = importFile testFile "./output"
+main = do
+  args <- getArgs
+  let opt = buildOptions options args defaultOptions
+  importFile (optInput opt) (optOutput opt)
 
 testFile :: FilePath
 testFile = "/Users/toby/Downloads/Countries_v1.csv"
+
+defaultOptions :: Options
+defaultOptions = Options "./input"  "./output"
+
+
+buildOptions :: [OptDescr (Options -> Options)] -> [String] -> Options -> Options
+buildOptions o =
+    let f (x, _, _) = x in
+    applyOptions . f  . getOpt Permute o
+
+applyOptions :: [Options -> Options] -> Options -> Options
+applyOptions fs o = foldr id o fs
+
+options :: [OptDescr (Options -> Options)]
+options = [ Option ['i'] ["input"]
+                       (ReqArg (\f opt -> opt {optInput = f}) "FILE") "input file"
+          , Option ['o'] ["output"]
+                (ReqArg (\f opt -> opt {optOutput = f}) "FILE") "output file" ]
