added heapSort