 		
 		let markTitle = NSLocalizedString("Mark All Read", comment: "Mark All Read")
 		let markAction = UIAlertAction(title: markTitle, style: .default) { [weak self] (action) in
-			guard let articles = self?.articles else { return }
-			markArticles(Set(articles), statusKey: .read, flag: true)
+
+			guard let articles = self?.articles,
+				let undoManager = self?.undoManager,
+				let markReadCommand = MarkStatusCommand(initialArticles: articles, markingRead: true, undoManager: undoManager) else {
+				return
+			}
+			self?.runCommand(markReadCommand)
+			
 		}
 		alertController.addAction(markAction)
 		

			NSLocalizedString("Unstar", comment: "Unstar") :
			NSLocalizedString("Star", comment: "Star")
		
		let starAction = UIContextualAction(style: .normal, title: starTitle) { (action, view, completionHandler) in
			markArticles(Set([article]), statusKey: .starred, flag: !article.status.starred)
			completionHandler(true)
		}
		

			NSLocalizedString("Unread", comment: "Unread") :
			NSLocalizedString("Read", comment: "Read")
		
		let readAction = UIContextualAction(style: .normal, title: readTitle) { [weak self] (action, view, completionHandler) in
			guard let undoManager = self?.undoManager,
				let markReadCommand = MarkStatusCommand(initialArticles: [article], markingRead: !article.status.read, undoManager: undoManager) else {
					return
			}
			self?.runCommand(markReadCommand)
			completionHandler(true)
		}
		
