add dynamic priority queue