changes and heapsort added