add cabal stuff, rework parser
add uncommmited changes