small refactor
minimum number of arguments
test runner
travis setup