fixed cabal structure - now produces an executable and a library