added tests and travis-ci