 		}
 	}
 	
-}
+	func makeParsedItems(_ webFeedURL: String, _ tweets: [Tweet]) -> Set<ParsedItem> {
+		var parsedItems = Set<ParsedItem>()
+		
+		for tweet in tweets {
+			guard let idStr = tweet.idStr, let userScreenName = tweet.user.screenName else { continue }
+			
+			let userURL = makeUserURL(userScreenName)
+			
+			let parsedItem = ParsedItem(syncServiceID: idStr,
+							  uniqueID: idStr,
+							  feedURL: webFeedURL,
+							  url: "\(userURL)/status/\(idStr)",
+							  externalURL: nil,
+							  title: nil,
+							  language: nil,
+							  contentHTML: tweet.text,
+							  contentText: tweet.text,
+							  summary: tweet.text,
+							  imageURL: nil,
+							  bannerImageURL: nil,
+							  datePublished: tweet.createdAt,
+							  dateModified: nil,
+							  authors: makeParsedAuthors(tweet.user),
+							  tags: nil,
+							  attachments: nil)
+			parsedItems.insert(parsedItem)
+		}
+		
+		return parsedItems
+	}
+	
+	func makeUserURL(_ screenName: String) -> String {
+		return "https://twitter.com/\(screenName)"
+	}
+	
+	func makeParsedAuthors(_ user: TwitterUser) -> Set<ParsedAuthor> {
+		return Set([ParsedAuthor(name: user.name, url: makeUserURL(user.screenName!), avatarURL: user.avatarURL, emailAddress: nil)])
+	}
+	
+}


	private static let server = "api.twitter.com"
	private static let apiBase = "https://api.twitter.com/1.1/"
	
	private static let userPaths = ["/home", "/notifications"]
	private static let reservedPaths = ["/search", "/explore", "/messages", "/i", "/compose"]

			case .success(let response):
				let decoder = JSONDecoder()
				let dateFormatter = DateFormatter()
				dateFormatter.dateFormat = Self.dateFormat
				decoder.dateDecodingStrategy = .formatted(dateFormatter)
				do {
					let tweets = try decoder.decode([Tweet].self, from: response.data)
