exp impl of reheapdown
merge conflicts resolved