Dns support

@purplefox please review.. once done I will squash it and merge in.