Dijkstras using priority queue