add implementation for PriorityQueue