public String toDecodedString() {
		StringBuilder sb = new StringBuilder();
		try {
			sb.append("announce: " + announceUrl).append("\n");
			sb.append("creation date: " + 
						decoded.get("creation date").getNumber())
				.append("\n");
			sb.append("created by: " + decoded.get("created by").getString())
				.append("\n");
			sb.append("length: " + decoded_info.get("length").getInt())
				.append("\n");
			sb.append("name: " + decoded_info.get("name").getString())
				.append("\n");
			sb.append("piece length: " + decoded_info.get("piece length").getInt())
				.append("\n");
			sb.append("pieces: " + Torrent.toHexString(decoded_info.get("pieces").getString()))
				.append("\n");
			sb.append("info hash: " + hex_info_hash)
				.append("\n");
		} catch (InvalidBEncodingException e) {
			logger.warn(e.getMessage());
		} catch (NullPointerException e) {
			logger.warn(e.getMessage());
		}
			
		return sb.toString();
	}