interfaces
cabal