added heap_insert and extract_max