minor changes
add tests
build.cabal added
minor improves