progress on heap sort