Add more specs
Compatibility with older versions of GHC
Add travis-ci config