Full cabal configuration and new project layout