Merging DNS work from DesaiAtKU

Mergingin the DNS provider worked completed by @DesaiAtKU.