can build a graph with routes starting at two towns
refactor DuplicateRoute to DuplicateRouteException