basics for a cabal package