clean code
cabal