 		
 	}
 	
+	func delete(indexPath: IndexPath) {
+
+		guard let undoManager = undoManager,
+			let deleteNode = coordinator.nodeFor(indexPath),
+			let deleteCommand = DeleteCommand(nodesToDelete: [deleteNode], treeController: coordinator.treeController, undoManager: undoManager, errorHandler: ErrorHandler.present(self))
+				else {
+					return
+		}
+
+		var deleteIndexPaths = [indexPath]
+		if coordinator.isExpanded(deleteNode) {
+			for i in 0..<deleteNode.numberOfChildNodes {
+				deleteIndexPaths.append(IndexPath(row: indexPath.row + 1 + i, section: indexPath.section))
+			}
+		}
+		
+		pushUndoableCommand(deleteCommand)
+
+		coordinator.beginUpdates()
+		deleteCommand.perform {
+			self.coordinator.treeController.rebuild()
+			self.coordinator.rebuildShadowTable()
+			self.tableView.deleteRows(at: deleteIndexPaths, with: .automatic)
+			self.coordinator.endUpdates()
+		}
+		
+	}
+	
 }

		}
	}
	
	func delete(indexPath: IndexPath) {

		guard let undoManager = undoManager,
			let deleteNode = coordinator.nodeFor(indexPath),
			let deleteCommand = DeleteCommand(nodesToDelete: [deleteNode], treeController: coordinator.treeController, undoManager: undoManager, errorHandler: ErrorHandler.present(self))
				else {
					return
		}

		var deleteIndexPaths = [indexPath]
		if coordinator.isExpanded(deleteNode) {
			for i in 0..<deleteNode.numberOfChildNodes {
				deleteIndexPaths.append(IndexPath(row: indexPath.row + 1 + i, section: indexPath.section))
			}
		}
		
		pushUndoableCommand(deleteCommand)

		coordinator.beginUpdates()
		deleteCommand.perform {
			self.coordinator.treeController.rebuild()
			self.coordinator.rebuildShadowTable()
			self.tableView.deleteRows(at: deleteIndexPaths, with: .automatic)
			self.coordinator.endUpdates()
		}
		
	}
	
	func rename(indexPath: IndexPath) {

		
		return UISwipeActionsConfiguration(actions: [deleteAction, renameAction])
		
	}
	
	override func tableView(_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
		guard let node = coordinator.nodeFor(indexPath), !(node.representedObject is PseudoFeed) else {
			return nil
		}
		if node.representedObject is Feed {
			return makeFeedContextMenu(indexPath: indexPath, includeDeleteRename: true)
		} else {
			return nil
		}
	}

	override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
