 	func encodeValue(value: JSONValue) throws -> String {
 		
 		switch(value) {
+		case let b as Bool:
+			return b ? "true" : "false"
 		case let i as Int:
 			return encodeInt(i)
 		case let d as Double:

		}
	}
}

/// This class decodes JSON string data and returns the resulting value(s)
///

				try handlePop()
			case jsonColon:
				guard stack.count > 0 && stack.last! is KeyPair && (stack.last! as! KeyPair).value == nil else {
					throw JSONError.SyntaxError(malformedJSONString)
				}
			case jsonComma:
				guard stack.count > 0 && !(stack.last! is KeyPair) else {
					throw JSONError.SyntaxError(malformedJSONString)
				}
			case jsonQuoteDouble:
				try handlePop(try readString())
