diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj
index d7cfb6367..9494fef97 100644
--- a/NetNewsWire.xcodeproj/project.pbxproj
+++ b/NetNewsWire.xcodeproj/project.pbxproj
@@ -102,6 +102,10 @@
 		512392C024E33A3C00F11704 /* RedditAdd.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 516AE5FF246AF34100731738 /* RedditAdd.storyboard */; };
 		512392C124E33A3C00F11704 /* RedditSelectTypeTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE601246AF36100731738 /* RedditSelectTypeTableViewController.swift */; };
 		512392C224E33A3C00F11704 /* RedditEnterDetailTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 516AE605246AF3A900731738 /* RedditEnterDetailTableViewController.swift */; };
+		512392C324E3451400F11704 /* TwitterAdd.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 510289CF2451BA3A00426DDF /* TwitterAdd.storyboard */; };
+		512392C424E3451400F11704 /* TwitterSelectTypeTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510289D12451BC1F00426DDF /* TwitterSelectTypeTableViewController.swift */; };
+		512392C524E3451400F11704 /* TwitterEnterDetailTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51BEB22C2451E8340066DEDD /* TwitterEnterDetailTableViewController.swift */; };
+		512392C624E3451400F11704 /* TwitterSelectAccountTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 510289D52451DDD100426DDF /* TwitterSelectAccountTableViewController.swift */; };
 		5125E6CA24AE461D002A7562 /* TimelineLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17B223DB24AC24D2001E4592 /* TimelineLayoutView.swift */; };
 		5126EE97226CB48A00C22AFC /* SceneCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5126EE96226CB48A00C22AFC /* SceneCoordinator.swift */; };
 		5127B238222B4849006D641D /* DetailKeyboardDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5127B236222B4849006D641D /* DetailKeyboardDelegate.swift */; };
@@ -4128,6 +4132,7 @@
 				511D43D2231FA62C00FB1562 /* GlobalKeyboardShortcuts.plist in Resources */,
 				84C9FCA12262A1B300D921D6 /* Main.storyboard in Resources */,
 				51BB7C312335ACDE008E8144 /* page.html in Resources */,
+				512392C324E3451400F11704 /* TwitterAdd.storyboard in Resources */,
 				516A093723609A3600EAE89B /* SettingsComboTableViewCell.xib in Resources */,
 				51F85BF32272531500C787DC /* Dedication.rtf in Resources */,
 				516A09422361248000EAE89B /* Inspector.storyboard in Resources */,
@@ -4914,6 +4919,7 @@
 				51C452A022650A1900C03939 /* WebFeedIconDownloader.swift in Sources */,
 				51C4529E22650A1900C03939 /* ImageDownloader.swift in Sources */,
 				51A66685238075AE00CB272D /* AddWebFeedDefaultContainer.swift in Sources */,
+				512392C424E3451400F11704 /* TwitterSelectTypeTableViewController.swift in Sources */,
 				51B5C87723F22B8200032075 /* ExtensionContainers.swift in Sources */,
 				51C45292226509C800C03939 /* TodayFeedDelegate.swift in Sources */,
 				51C452A222650A1900C03939 /* RSHTMLMetadata+Extension.swift in Sources */,
@@ -4953,11 +4959,13 @@
 				51C4529C22650A1000C03939 /* SingleFaviconDownloader.swift in Sources */,
 				51E595A6228CC36500FCC42B /* ArticleStatusSyncTimer.swift in Sources */,
 				51F9F3F723DF6DB200A314FD /* ArticleIconSchemeHandler.swift in Sources */,
+				512392C524E3451400F11704 /* TwitterEnterDetailTableViewController.swift in Sources */,
 				512AF9C2236ED52C0066F8BE /* ImageHeaderView.swift in Sources */,
 				512392C124E33A3C00F11704 /* RedditSelectTypeTableViewController.swift in Sources */,
 				515A5181243E90260089E588 /* ExtensionPointIdentifer.swift in Sources */,
 				51A1699F235E10D700EB091F /* AboutViewController.swift in Sources */,
 				51C45290226509C100C03939 /* PseudoFeed.swift in Sources */,
+				512392C624E3451400F11704 /* TwitterSelectAccountTableViewController.swift in Sources */,
 				51C452A922650DC600C03939 /* ArticleRenderer.swift in Sources */,
 				51C45297226509E300C03939 /* DefaultFeedsImporter.swift in Sources */,
 				512E094D2268B8AB00BDCFDD /* DeleteCommand.swift in Sources */,
diff --git a/iOS/Add/Twitter/TwitterAdd.storyboard b/iOS/Add/Twitter/TwitterAdd.storyboard
index 688696203..d13411ea0 100644
--- a/iOS/Add/Twitter/TwitterAdd.storyboard
+++ b/iOS/Add/Twitter/TwitterAdd.storyboard
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17147" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="q78-0w-suH">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17147" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="4Q4-Hi-Lic">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
@@ -8,6 +8,22 @@
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
+        <!--Navigation Controller-->
+        <scene sceneID="np9-bP-Yhx">
+            <objects>
+                <navigationController id="4Q4-Hi-Lic" sceneMemberID="viewController">
+                    <navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="9e6-4b-IPV">
+                        <rect key="frame" x="0.0" y="44" width="414" height="44"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </navigationBar>
+                    <connections>
+                        <segue destination="q78-0w-suH" kind="relationship" relationship="rootViewController" id="xn5-zT-uXK"/>
+                    </connections>
+                </navigationController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="sjJ-Fz-BXf" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-1254" y="173"/>
+        </scene>
         <!--Select Type-->
         <scene sceneID="Fmm-TL-h7h">
             <objects>
@@ -19,11 +35,11 @@
                         <sections>
                             <tableViewSection id="Dp6-La-NeL">
                                 <cells>
-                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" textLabel="WAs-zr-8RJ" detailTextLabel="f8o-SY-a2H" style="IBUITableViewCellStyleSubtitle" id="VbH-aQ-M4H" customClass="VibrantTableViewCell" customModule="NetNewsWire" customModuleProvider="target">
+                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" textLabel="WAs-zr-8RJ" detailTextLabel="f8o-SY-a2H" style="IBUITableViewCellStyleSubtitle" id="VbH-aQ-M4H" customClass="VibrantTableViewCell" customModule="NetNewsWire" customModuleProvider="target">
                                         <rect key="frame" x="20" y="18" width="374" height="59"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="VbH-aQ-M4H" id="Qud-m5-1ZQ">
-                                            <rect key="frame" x="0.0" y="0.0" width="374" height="59"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="343" height="59"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" multipleTouchEnabled="YES" contentMode="left" insetsLayoutMarginsFromSafeArea="NO" text="Home Timeline" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" id="WAs-zr-8RJ">
@@ -43,11 +59,11 @@
                                             </subviews>
                                         </tableViewCellContentView>
                                     </tableViewCell>
-                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" textLabel="K0b-HX-8dR" detailTextLabel="uaZ-4Q-FBS" style="IBUITableViewCellStyleSubtitle" id="jft-wJ-OVX" customClass="VibrantTableViewCell" customModule="NetNewsWire" customModuleProvider="target">
+                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" textLabel="K0b-HX-8dR" detailTextLabel="uaZ-4Q-FBS" style="IBUITableViewCellStyleSubtitle" id="jft-wJ-OVX" customClass="VibrantTableViewCell" customModule="NetNewsWire" customModuleProvider="target">
                                         <rect key="frame" x="20" y="77" width="374" height="59"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="jft-wJ-OVX" id="dXF-Bc-NkR">
-                                            <rect key="frame" x="0.0" y="0.0" width="374" height="59"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="343" height="59"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" multipleTouchEnabled="YES" contentMode="left" insetsLayoutMarginsFromSafeArea="NO" text="Mentions" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" id="K0b-HX-8dR">
@@ -123,6 +139,7 @@
                             <outlet property="delegate" destination="q78-0w-suH" id="j69-O6-ths"/>
                         </connections>
                     </tableView>
+                    <navigationItem key="navigationItem" title="Select Twitter Type" id="kjr-7P-QSh"/>
                     <simulatedNavigationBarMetrics key="simulatedTopBarMetrics"/>
                 </tableViewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="yI5-IG-7Sl" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
@@ -138,15 +155,15 @@
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <prototypes>
-                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="Cell" textLabel="j8c-JM-nzm" style="IBUITableViewCellStyleDefault" id="vEE-Gx-Zgc" customClass="VibrantTableViewCell" customModule="NetNewsWire" customModuleProvider="target">
+                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="Cell" textLabel="j8c-JM-nzm" style="IBUITableViewCellStyleDefault" id="vEE-Gx-Zgc" customClass="VibrantTableViewCell" customModule="NetNewsWire" customModuleProvider="target">
                                 <rect key="frame" x="20" y="55.5" width="374" height="43.5"/>
                                 <autoresizingMask key="autoresizingMask"/>
                                 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="vEE-Gx-Zgc" id="pa0-mR-hgR">
-                                    <rect key="frame" x="0.0" y="0.0" width="374" height="43.5"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="343" height="43.5"/>
                                     <autoresizingMask key="autoresizingMask"/>
                                     <subviews>
                                         <label opaque="NO" multipleTouchEnabled="YES" contentMode="left" insetsLayoutMarginsFromSafeArea="NO" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" id="j8c-JM-nzm">
-                                            <rect key="frame" x="20" y="0.0" width="334" height="43.5"/>
+                                            <rect key="frame" x="20" y="0.0" width="315" height="43.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
                                             <nil key="textColor"/>
diff --git a/iOS/Add/Twitter/TwitterEnterDetailTableViewController.swift b/iOS/Add/Twitter/TwitterEnterDetailTableViewController.swift
index 621488234..87043e9f6 100644
--- a/iOS/Add/Twitter/TwitterEnterDetailTableViewController.swift
+++ b/iOS/Add/Twitter/TwitterEnterDetailTableViewController.swift
@@ -9,19 +9,18 @@
 import UIKit
 import Account
 
-class TwitterEnterDetailTableViewController: UITableViewController, SelectURLBuilder {
+class TwitterEnterDetailTableViewController: UITableViewController {
 	
 	@IBOutlet weak var detailTextField: UITextField!
 	
 	var doneBarButtonItem = UIBarButtonItem()
 	var twitterFeedType: TwitterFeedType?
-	weak var delegate: SelectURLBuilderDelegate?
 	
     override func viewDidLoad() {
         super.viewDidLoad()
 
-		doneBarButtonItem.title = NSLocalizedString("Done", comment: "Done")
-		doneBarButtonItem.style = .done
+		doneBarButtonItem.title = NSLocalizedString("Next", comment: "Next")
+		doneBarButtonItem.style = .plain
 		doneBarButtonItem.target = self
 		doneBarButtonItem.action = #selector(done)
 		navigationItem.rightBarButtonItem = doneBarButtonItem
@@ -42,21 +41,21 @@ class TwitterEnterDetailTableViewController: UITableViewController, SelectURLBui
 
 	@objc func done() {
 		guard let twitterFeedType = twitterFeedType, var text = detailTextField.text?.collapsingWhitespace else { return }
-		
+
+		let url: String?
 		if twitterFeedType == .screenName {
 			if text.starts(with: "@") {
 				text = String(text[text.index(text.startIndex, offsetBy: 1)..<text.endIndex])
 			}
-			if let url = TwitterFeedProvider.buildURL(twitterFeedType, username: nil, screenName: text, searchField: nil) {
-				delegate?.selectURLBuilderDidBuildURL(url)
-			}
+			url = TwitterFeedProvider.buildURL(twitterFeedType, username: nil, screenName: text, searchField: nil)?.absoluteString
 		} else {
-			if let url = TwitterFeedProvider.buildURL(twitterFeedType, username: nil, screenName: nil, searchField: text) {
-				delegate?.selectURLBuilderDidBuildURL(url)
-			}
+			url = TwitterFeedProvider.buildURL(twitterFeedType, username: nil, screenName: nil, searchField: text)?.absoluteString
 		}
 		
-		dismiss(animated: true)
+		let addViewController = UIStoryboard.add.instantiateViewController(withIdentifier: "AddWebFeedViewController") as! AddWebFeedViewController
+		addViewController.addFeedType = .twitter
+		addViewController.initialFeed = url
+		navigationController?.pushViewController(addViewController, animated: true)
 	}
 	
 	@objc func textDidChange(_ note: Notification) {
diff --git a/iOS/Add/Twitter/TwitterSelectAccountTableViewController.swift b/iOS/Add/Twitter/TwitterSelectAccountTableViewController.swift
index 401da77c1..502647eea 100644
--- a/iOS/Add/Twitter/TwitterSelectAccountTableViewController.swift
+++ b/iOS/Add/Twitter/TwitterSelectAccountTableViewController.swift
@@ -9,12 +9,11 @@
 import UIKit
 import Account
 
-class TwitterSelectAccountTableViewController: UITableViewController, SelectURLBuilder {
+class TwitterSelectAccountTableViewController: UITableViewController {
 	
 	private var twitterFeedProviders = [TwitterFeedProvider]()
 	
 	var twitterFeedType: TwitterFeedType?
-	weak var delegate: SelectURLBuilderDelegate?
 	
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -33,11 +32,14 @@ class TwitterSelectAccountTableViewController: UITableViewController, SelectURLB
 	
 	override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
 		guard let twitterFeedType = twitterFeedType else { return }
+
 		let username = twitterFeedProviders[indexPath.row].screenName
-		if let url = TwitterFeedProvider.buildURL(twitterFeedType, username: username, screenName: nil, searchField: nil) {
-			delegate?.selectURLBuilderDidBuildURL(url)
-		}
-		dismiss(animated: true)
+		let url = TwitterFeedProvider.buildURL(twitterFeedType, username: username, screenName: nil, searchField: nil)?.absoluteString
+
+		let addViewController = UIStoryboard.add.instantiateViewController(withIdentifier: "AddWebFeedViewController") as! AddWebFeedViewController
+		addViewController.addFeedType = .twitter
+		addViewController.initialFeed = url
+		navigationController?.pushViewController(addViewController, animated: true)
 	}
 	
 }
diff --git a/iOS/Add/Twitter/TwitterSelectTypeTableViewController.swift b/iOS/Add/Twitter/TwitterSelectTypeTableViewController.swift
index 0c81c27f0..9258e5682 100644
--- a/iOS/Add/Twitter/TwitterSelectTypeTableViewController.swift
+++ b/iOS/Add/Twitter/TwitterSelectTypeTableViewController.swift
@@ -9,12 +9,10 @@
 import UIKit
 import Account
 
-class TwitterSelectTypeTableViewController: UITableViewController, SelectURLBuilder {
+class TwitterSelectTypeTableViewController: UITableViewController {
 	
 	private var twitterFeedProviders = [TwitterFeedProvider]()
 
-	weak var delegate: SelectURLBuilderDelegate?
-	
     override func viewDidLoad() {
         super.viewDidLoad()
 		twitterFeedProviders = ExtensionPointManager.shared.activeExtensionPoints.values.compactMap { $0 as? TwitterFeedProvider }
@@ -35,38 +33,30 @@ class TwitterSelectTypeTableViewController: UITableViewController, SelectURLBuil
 		case 0:
 			if twitterFeedProviders.count == 1 {
 				let username = twitterFeedProviders.first!.screenName
-				if let url = TwitterFeedProvider.buildURL(.homeTimeline, username: username, screenName: nil, searchField: nil) {
-					delegate?.selectURLBuilderDidBuildURL(url)
-				}
-				dismiss(animated: true)
+				let url = TwitterFeedProvider.buildURL(.homeTimeline, username: username, screenName: nil, searchField: nil)?.absoluteString
+				pushAddFeedController(url)
 			} else {
 				let selectAccount = UIStoryboard.twitterAdd.instantiateController(ofType: TwitterSelectAccountTableViewController.self)
 				selectAccount.twitterFeedType = .homeTimeline
-				selectAccount.delegate = delegate
 				navigationController?.pushViewController(selectAccount, animated: true)
 			}
 		case 1:
 			if twitterFeedProviders.count == 1 {
 				let username = twitterFeedProviders.first!.screenName
-				if let url = TwitterFeedProvider.buildURL(.mentions, username: username, screenName: nil, searchField: nil) {
-					delegate?.selectURLBuilderDidBuildURL(url)
-				}
-				dismiss(animated: true)
+				let url = TwitterFeedProvider.buildURL(.mentions, username: username, screenName: nil, searchField: nil)?.absoluteString
+				pushAddFeedController(url)
 			} else {
 				let selectAccount = UIStoryboard.twitterAdd.instantiateController(ofType: TwitterSelectAccountTableViewController.self)
 				selectAccount.twitterFeedType = .mentions
-				selectAccount.delegate = delegate
 				navigationController?.pushViewController(selectAccount, animated: true)
 			}
 		case 2:
 			let enterDetail = UIStoryboard.twitterAdd.instantiateController(ofType: TwitterEnterDetailTableViewController.self)
 			enterDetail.twitterFeedType = .screenName
-			enterDetail.delegate = delegate
 			navigationController?.pushViewController(enterDetail, animated: true)
 		case 3:
 			let enterDetail = UIStoryboard.twitterAdd.instantiateController(ofType: TwitterEnterDetailTableViewController.self)
 			enterDetail.twitterFeedType = .search
-			enterDetail.delegate = delegate
 			navigationController?.pushViewController(enterDetail, animated: true)
 		default:
 			fatalError()
@@ -74,3 +64,14 @@ class TwitterSelectTypeTableViewController: UITableViewController, SelectURLBuil
 	}
 	
 }
+
+private extension TwitterSelectTypeTableViewController {
+	
+	func pushAddFeedController(_ url: String?) {
+		let addViewController = UIStoryboard.add.instantiateViewController(withIdentifier: "AddWebFeedViewController") as! AddWebFeedViewController
+		addViewController.addFeedType = .twitter
+		addViewController.initialFeed = url
+		navigationController?.pushViewController(addViewController, animated: true)
+	}
+	
+}
diff --git a/iOS/MasterFeed/MasterFeedViewController.swift b/iOS/MasterFeed/MasterFeedViewController.swift
index 8114977eb..98c1181d8 100644
--- a/iOS/MasterFeed/MasterFeedViewController.swift
+++ b/iOS/MasterFeed/MasterFeedViewController.swift
@@ -410,6 +410,11 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner {
 			self.coordinator.showAddRedditFeed()
 		}
 		
+		let addTwitterFeedActionTitle = NSLocalizedString("Add Twitter Feed", comment: "Add Twitter Feed")
+		let addTwitterFeedAction = UIAlertAction(title: addTwitterFeedActionTitle, style: .default) { _ in
+			self.coordinator.showAddTwitterFeed()
+		}
+		
 		let addWebFolderdActionTitle = NSLocalizedString("Add Folder", comment: "Add Folder")
 		let addWebFolderAction = UIAlertAction(title: addWebFolderdActionTitle, style: .default) { _ in
 			self.coordinator.showAddFolder()
@@ -417,6 +422,7 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner {
 		
 		alertController.addAction(addWebFeedAction)
 		alertController.addAction(addRedditFeedAction)
+		alertController.addAction(addTwitterFeedAction)
 		alertController.addAction(addWebFolderAction)
 		alertController.addAction(cancelAction)
 		
diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift
index 396e9efc4..b8052f0e4 100644
--- a/iOS/SceneCoordinator.swift
+++ b/iOS/SceneCoordinator.swift
@@ -1190,6 +1190,13 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, UnreadCountProvider {
 		masterFeedViewController.present(addNavViewController, animated: true)
 	}
 	
+	func showAddTwitterFeed() {
+		let addNavViewController = UIStoryboard.twitterAdd.instantiateInitialViewController() as! UINavigationController
+		addNavViewController.modalPresentationStyle = .formSheet
+		addNavViewController.preferredContentSize = AddWebFeedViewController.preferredContentSizeForFormSheetDisplay
+		masterFeedViewController.present(addNavViewController, animated: true)
+	}
+	
 	func showAddFolder() {
 		let addNavViewController = UIStoryboard.add.instantiateViewController(withIdentifier: "AddFolderViewControllerNav") as! UINavigationController
 		addNavViewController.modalPresentationStyle = .formSheet