add tests and travis.yml