porteddijkstra search class