cabal structure