 				stack.append(ky)
 				return ky
 			default:
-				throw JSONError.SyntaxError("Malformed JSON string")
+				throw JSONError.SyntaxError(malformedJSONString)
 			}
 		case let pair as KeyPair:
 			guard pair.value == nil else {
-				throw JSONError.SyntaxError("Malformed JSON string")
+				throw JSONError.SyntaxError(malformedJSONString)
 			}
 			pair.value = obj
 			try pop()
 			return try handlePop(pair)
 		default:
-			throw JSONError.SyntaxError("Malformed JSON string")
+			throw JSONError.SyntaxError(malformedJSONString)
 		}
 	}
 	

			switch obj {
			case let keyPair as KeyPair:
				guard keyPair.value != nil else {
					throw JSONError.SyntaxError("Malformed JSON string")
				}
				d[keyPair.key] = keyPair.value!
				return d

			case jsonBackSlash:
				s.appendContentsOf("\\\\")
			case jsonQuoteDouble:
				s.appendContentsOf("\\\"")
			case jsonBackSpace:
				s.appendContentsOf("\\b")
			case jsonFormFeed:
