add modify_heap func