heaps done. update still needs work