Router is now generic