adds heap sort