start adding heap functions here, eta tonight to complete