add min/max heap