Reorganised the haskell source to use cabal