Finished Heap impl