add cabal integration
runnable with cabal
unit tests work with cabal test
first real test
first real test
more tests
merge