filled in push_list and fixed bugs in heap_split