classes for views, rewritten routing code and more