changed build system to cabal
added test to cabal