added routing and pretty much all the structure i think we need.