Roughly implement the start of the router