Rewrite of the routers part.
Should be more modular now to add other routers types.