added priority queue