cleanup some messy statements
improve structure and tests
add test coverage plugin
add travis.yml
fix error in variable name
update readme