updated transitions, use cabal to build executable