code: func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
  	fqdn, _ := dns01.GetRecord(domain, keyAuth)
  
  	authZone, err := dns01.FindZoneByFqdn(fqdn)
  	if err != nil {
  		return err
  	}
  
  	domainName := dns01.UnFqdn(authZone)
  
  	// get the subDomain
  	subDomain := strings.TrimSuffix(dns01.UnFqdn(fqdn), "."+domainName)
  
  	// use mutex to prevent race condition from GetInfo until SetDNSEntries
  	d.dnsEntriesMu.Lock()
  	defer d.dnsEntriesMu.Unlock()
  
  	// get all DNS entries
  	info, err := transipdomain.GetInfo(d.client, domainName)
  	if err != nil {
  		return fmt.Errorf("transip: error for %s in CleanUp: %v", fqdn, err)
  	}
  
  	// loop through the existing entries and remove the specific record
  	updatedEntries := info.DNSEntries[:0]
  	for _, e := range info.DNSEntries {
  		if e.Name != subDomain {
  			updatedEntries = append(updatedEntries, e)
  		}
  	}
  
  	// set the updated DNS entries
  	err = transipdomain.SetDNSEntries(d.client, domainName, updatedEntries)
  	if err != nil {
  		return fmt.Errorf("transip: couldn't get Record ID in CleanUp: %sv", err)
  	}
  
  	return nil
  }
docs: // CleanUp removes the TXT record matching the specified parameters