changelog:
    * added priority queue
    * added heap sort