brevity nit
delete_root -> pop
fixed bug: getting copy not reference
more sensible names nit
proper upheaping and downheaping one element