move some stuff around, so routers are more first-class