dijsktra prototype