TODOs
heapify