broke script into 3 separate modules
    * initializer is our controller
    * model/view are inseparable, that functionality lives in crawler
    * felt like handling the arguments (flag vs no flag etc) should be
    it's own module, since it only touches 1 point of the program
    anyway