Added initial implementation and cabal file.