     proofs = getQuestionProofs(question.number)
 
     msg.send """
-    **#{question.number}.** #{qa}
-
+    #{bold(question.number, robot.adapterName)}. #{qa}
     #{proofs}
     """
 
-getQuestionAndAnswer = (number) ->
+getQuestionAndAnswer = (number, adapter) ->
   questions = wscQuestions()
   question = findByNumber(questions, number)
+  boldQuestion = bold(question.question, adapter)
 
   return """
-  **#{question.question}**
-
+  #{boldQuestion}
   #{question.answer}
   """
 
-getQuestionProofs = (number) ->
+getQuestionProofs = (number, adapter) ->
   questions = wscQuestions()
   q = findByNumber(questions, number)
   proofs = q.proofTexts
   proof = ""
   
   for own key, value of proofs
+    key = "#{key}:"
+    proofNumber = bold(key, adapter)
+
     proof += """
-    **#{key}:**
-
+    #{proofNumber}
     """
 
     texts = value.join "\n    "


  robot.respond /wsc list/im, (msg) ->
    questions = wscQuestions().map((val, index) ->
      """
      **Q#{val.number} - #{val.question}**
      """
    )


    msg.send "#{question.answer}"

  robot.respond /wsc qa ([1-9]$|[1-9]\d$|10[0-7]$)/im, (msg) ->
    msg.send getQuestionAndAnswer(msg.match[1], robot.adapterName)

  robot.respond /wsc proof ([1-9]$|[1-9]\d$|10[0-7]$)/im, (msg) ->
    msg.send getQuestionProofs(msg.match[1], robot.adapterName)

  robot.respond /wsc full ([1-9]$|[1-9]\d$|10[0-7]$)/im, (msg) ->
    number = msg.match[1]
    qa = getQuestionAndAnswer(number, robot.adapterName)
    proofs = getQuestionProofs(number, robot.adapterName)

    msg.send """
    #{qa}
    #{proofs}
    """

