add PriorityQueue function based heap
bugs