Added priority queue impl