reimplement SRV handling