add travis ci and code coverage