add doc string and comments
resolve conflicts in dns_handler.py