More robust applyHole, refineHole pretty much obsolete at this point