diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
 # sdpx
 
 [![Build Status](https://travis-ci.org/phadej/spdx.svg?branch=master)](https://travis-ci.org/phadej/spdx)
+[![Hackage](https://img.shields.io/hackage/v/spdx.svg)](http://hackage.haskell.org/package/spdx)
 
 SPDX license expression language
 
diff --git a/dev/Main.hs b/dev/Main.hs
deleted file mode 100644
--- a/dev/Main.hs
+++ /dev/null
@@ -1,55 +0,0 @@
-module Main (main) where
-
-import Control.Applicative
-import Data.List
-import Data.Maybe
-import Data.Traversable
-import Text.XML.Light
-
-simplify :: Element -> [[[String]]]
-simplify el = 
-  let worksheets = filter isWorksheetElement $ childrenElements el
-      Just tables = traverse tableFromWorksheet worksheets
-  in map tableElements tables
-
-toElem :: Content -> Maybe Element
-toElem (Elem e) = Just e
-toElem _        = Nothing
-
-isElement :: String -> Element -> Bool
-isElement name = (name ==) . qName . elName
-
-isWorksheetElement :: Element -> Bool
-isWorksheetElement = isElement "Worksheet"
-
-childrenElements :: Element -> [Element]
-childrenElements = mapMaybe toElem . elContent
-
-tableFromWorksheet :: Element -> Maybe Element
-tableFromWorksheet = listToMaybe . filter (isElement "Table") . childrenElements
-
-textContent :: Content -> Maybe String
-textContent (Text t) = Just $ cdData t
-textContent _        = Nothing
-
-extractData :: Element -> String
-extractData el = maybe "" id $ do dataEl <- listToMaybe . filter (isElement "Data") . childrenElements $ el
-                                  textEl <- listToMaybe $ elContent dataEl
-                                  text <- textContent textEl
-                                  return text
-
-tableElements :: Element -> [[String]] 
-tableElements = map cells . filter (isElement "Row") . childrenElements
-  where cells = map extractData . filter (isElement "Cell") . childrenElements
-
-extractLicense :: [String] -> (String, String, Bool)
-extractLicense row = (row !! 1, row !! 0, (row !! 4) == "YES")
-
-main :: IO ()
-main = do
-  contents <- readFile "data/spdx_licenselist.xml"
-  let Just el = parseXMLDoc contents
-  let parsed = simplify el
-  let licenses = filter (not . null) $ parsed !! 0
-  f `mapM_` (sort $ map extractLicense licenses)
-  where f (l, n, osi) = putStrLn $ "  , (LicenseId " ++ show l ++ ", " ++ show n ++ ", " ++ show osi ++ ")"
diff --git a/spdx.cabal b/spdx.cabal
--- a/spdx.cabal
+++ b/spdx.cabal
@@ -1,5 +1,5 @@
 name:                spdx
-version:             0.1.1.0
+version:             0.1.2.0
 synopsis:            SPDX license expression language
 description:         Implementation of <http://spdx.org/sites/spdx/files/SPDX-2.0.pdf SPDX> related functionality.
 homepage:            https://github.com/phadej/spdx
@@ -13,11 +13,6 @@
 extra-source-files:  README.md
 cabal-version:       >=1.10
 
-flag developer
-  description:       Whether to build development tools
-  default:           False
-  manual:            True
-
 library
   default-language:    Haskell2010
   exposed-modules:     Data.SPDX,
@@ -50,12 +45,3 @@
                        tasty             >=0.10 && <0.11,
                        tasty-quickcheck  >=0.8  && <0.9,
                        spdx
-
-executable spdx-data
-  if !flag(developer)
-    buildable:         False
-  main-is:             Main.hs
-  default-language:    Haskell2010
-  hs-source-dirs:      dev
-  build-depends:       base              >=4.5  && <4.9,
-                       xml               >=1.3  && <1.4
