Write PriorityQueue

But there is no unit tests for it.