Add haddock documentation
Add testing