made pep8 tests pass
handle bad args and more unit tests