complete test suite
remove unused code
refactor repeated code into methods
add CSV output
