ok, have surface extraction mostly debugged.  may do a refactor