         })
         if node.loc.start.line == 1 
             errors[errors.length-1].column -= 19
-
+    #add all comments as errors
+    for comment in ast.comments
+        createError(comment, "correctable", "Comments are not valid in Json")
     rootExpr = null
     breadthFirstFunc=(node)->
         if rootExpr == null

                key = node.key
                if key.type=="Identifier"
                    createError(key, "correctable", "Keys must be double quoted in Json. Did you mean \"#{key.name}\"?")
                    key.valid=false
                    key.correct = JSON.stringify(key.name)
                else if key.type=="Literal" and typeof(key.value) == "number"
                    createError(key, "correctable", "Keys must be double quoted in Json. Did you mean \"#{key.raw}\"?")
                    key.valid=false
                    key.correct = JSON.stringify(key.raw)
            when "Identifier"
                node.valid = false
                createError(node, "guessable", "An identifier is not a valid Json element. Did you mean \"#{node.name}\"?")
                node.correct = JSON.stringify(node.name)
            when "CallExpression"
                node.valid=false
                createError(node, "fail", "You can not make function calls in Json. Do you think I am a fool?")
            else
                node.valid=false
                createError(node, "fail", "A \"#{node.type}\" is an invalid Json element.")


    # do the processing         
    res = falafel(wrappedSrc, {ast:ast}, depthFirstFunc, breadthFirstFunc).toString()
    res = res.substring(19,res.length-6)
    return {json:res, errors:errors}
#export
if typeof module == 'undefined' then window.durableJsonLint = jsonLint else module.exports = jsonLint