updates to heap