surfaces on the heap