add more tests and travis-ci integration