added a lot of base stuff. Basically if you type in a url that exists then it grabs the controller for it, else it grabs the error controller. The base controller creates a view and all page controllers extend it.