First version written test-first, ready for refactoring
Travis CI/coverage