+unsigned count = 0;
+
+template<typename Pred>
+Route *create_route(const Track &from, unsigned ep, const Pred &goal)
+{
+ list<const Track *> tracks = dijkstra(from, ep, goal);
+
+ Route *route = new Route(from.get_layout(), format("-%d-", ++count));
+ for(list<const Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
+ route->add_track(**i);
+
+ route->set_temporary(true);
+
+ return route;
+}
+