describe more details about PriorityQueue implementation