code for "Putting Holes in Holey Geometry: Topology Change for Arbitrary Surfaces"