changed the routers system
add tests