use cabal as a pachage manager
merge