add tests and add coveralls