initial pass of Heap