 			// TODO: handle .binary message differently
 			guard messageData.format == .binary else { fatalError("received unsupported binary data") }
 			if Log.isLogging(.debug, category: .session) {
-				let dmsg = "incoming: " + String(data: messageData.data, encoding: .utf8)!
+				var dmsg = "incoming: " + String(data: messageData.data, encoding: .utf8)!
+				dmsg = debugJsonOutputRegex.stringByReplacingMatches(in: dmsg, options: [], range: NSRange(dmsg.startIndex..<dmsg.endIndex, in: dmsg), withTemplate: "<B>IMG HERE</B>")
 				Log.debug(dmsg, .session)
 			}
 			response = try conInfo.decode(data: messageData.data)

			handleClosed(source: .server, data: closeData)
		case .error(let errorData):
			eventObserver.send(value: SessionEvent(.sessionError, props: ["error": errorData.error.localizedDescription]))
			queue.async { self.delegate?.sessionErrorReceived(errorData.error, details: nil) }
		case .computeStatus(let status):
			computeStatus = status
			informDelegate = true

		if helpCheck?.numberOfRanges == 3 {
			let topic = String(script[(helpCheck?.range(at: 2).toStringRange(script))!])
			let adjScript = script.replacingCharacters(in: (helpCheck?.range.toStringRange(script))!, with: "")
			delegateQueue.async { self.delegate?.respondToHelp(topic) }
			guard !adjScript.isEmpty else { return }
			script = adjScript
		}
