                 res.send()
             else
                 @log.debug gLineInfo("deferring request"), {q:q}
-                @oldDNSLookup req, (code, packet) ->
+                @oldDNSLookup req, (packet, code) ->
                     _.assign res, _.pick packet, ['edns_version', 'edns_options',
                         'edns', 'answer', 'authority', 'additional']
                     @sendErr(res, code) if code

                        ttl = Math.floor(Math.random() * 3600) + 30
                        res.answer.push (addrs.map gIP2type(q.name, ttl, QTYPE_NAME[q.type]))...
                        @log.debug {fn:sig+':success', answer:res.answer, q:q.name}
                        cb null, res
            else
                # refuse all such queries
                cb NAME_RCODE.REFUSED, res

        sendErr: (res, code=NAME_RCODE.SERVFAIL) ->
            try

        resolve: (path, cb) ->
            req = @packet()
            req.question.push dns2.Question {name: path}
            @oldDNSLookup req, (packet, code) ->
                code = {code:code, name:RCODE_NAME[code]} if code
                cb code, packet

