cabal file refactor