broken out into classes, unit testing complete, exceptions thrown
ignore vendor folder