improve docs, tests, add travis file