add some more tests, refactor some, and mangle the travis file.