diff --git a/.gitignore b/.gitignore
index 12c84289ee9c4e1764517848dbd64f85214d450c..81c306003eebce5b0cf2f4ff1415379001832bf0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,6 +65,7 @@ unrar/*
 bower_components
 node_modules
 dist
+package-lock.json
 
 # Unit test/Coverage #
 ######################
diff --git a/gui/slick/css/1ORHCpsQm3Vp6mXoaTYnF5uFdDttMLvmWuJdhhgs.ttf b/gui/slick/css/1ORHCpsQm3Vp6mXoaTYnF5uFdDttMLvmWuJdhhgs.ttf
index d7d7cd1fcc97d7aaeb1ffa373ea86d0c2ee13b5e..69abfdcac2889c2e8000d51015ae904e3fba7717 100644
Binary files a/gui/slick/css/1ORHCpsQm3Vp6mXoaTYnF5uFdDttMLvmWuJdhhgs.ttf and b/gui/slick/css/1ORHCpsQm3Vp6mXoaTYnF5uFdDttMLvmWuJdhhgs.ttf differ
diff --git a/gui/slick/css/702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf b/gui/slick/css/702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf
index 974a7c5edd7f14486c43561220b54244da886885..ad31e3b8fc9baecb71d33cb9ce9ab9bce8b98219 100644
Binary files a/gui/slick/css/702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf and b/gui/slick/css/702ZOKiLJc3WVjuplzInF5uFdDttMLvmWuJdhhgs.ttf differ
diff --git a/gui/slick/css/JXh38I15wypJXxuGMBp0EAVxt0G0biEntp43Qt6E.ttf b/gui/slick/css/JXh38I15wypJXxuGMBp0EAVxt0G0biEntp43Qt6E.ttf
index 53dbf96f7cde8a031fcea31baf7eaf9c9af36fbb..b67a92a091a4d280ce5f6c5a1545abd09096d042 100644
Binary files a/gui/slick/css/JXh38I15wypJXxuGMBp0EAVxt0G0biEntp43Qt6E.ttf and b/gui/slick/css/JXh38I15wypJXxuGMBp0EAVxt0G0biEntp43Qt6E.ttf differ
diff --git a/gui/slick/css/KeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf b/gui/slick/css/KeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf
index 0dae9c3bbc0b52ccd98b060849e631661a9bebdc..7abffe883663de93545150080507995a963c5d26 100644
Binary files a/gui/slick/css/KeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf and b/gui/slick/css/KeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf differ
diff --git a/gui/slick/css/_ySUJH_bn48VBG8sNSonF5uFdDttMLvmWuJdhhgs.ttf b/gui/slick/css/_ySUJH_bn48VBG8sNSonF5uFdDttMLvmWuJdhhgs.ttf
index 314e983a4bce3320b1ebeea9d21aeea88eaab52e..e5da0ec1e3f4ea21882b90bac9995282e20ec333 100644
Binary files a/gui/slick/css/_ySUJH_bn48VBG8sNSonF5uFdDttMLvmWuJdhhgs.ttf and b/gui/slick/css/_ySUJH_bn48VBG8sNSonF5uFdDttMLvmWuJdhhgs.ttf differ
diff --git a/gui/slick/css/bV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf b/gui/slick/css/bV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf
index 569e03a84014d5163582d148d6e090727eb61b53..b5662b48a6b621339c71b4169ebff5714cac5e53 100644
Binary files a/gui/slick/css/bV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf and b/gui/slick/css/bV5DfGHOiMmvb1Xr-honF5uFdDttMLvmWuJdhhgs.ttf differ
diff --git a/gui/slick/css/dark.css b/gui/slick/css/dark.css
index 7da99589cd9ccc0a6458e357a5a7baac4816296a..6c34ac3b44dec47c47cc9abaca34cf249131cb57 100644
--- a/gui/slick/css/dark.css
+++ b/gui/slick/css/dark.css
@@ -206,6 +206,17 @@ home_newShow.mako
     border: 1px solid #111111;
 }
 
+.new-show-table {
+    color: #FFFFFF !important;
+    border-right: 1px solid black;
+    border-bottom: 1px solid black;
+}
+
+.new-show-table tr.in-list,
+.new-show-table tr.in-list a {
+    color: #ACACAC !important;
+}
+
 /* =======================================================================
 home_addExistingShow.mako
 ========================================================================== */
diff --git a/gui/slick/css/iXeptR36kaC0GEAetxi8cqLH4MEiSE0ROcU-qHOA.ttf b/gui/slick/css/iXeptR36kaC0GEAetxi8cqLH4MEiSE0ROcU-qHOA.ttf
index ee892609576fbea2b53f7e6506bba3a8aebca10e..8245485251fe16e2eb5267152b35a6bb7e1ac85f 100644
Binary files a/gui/slick/css/iXeptR36kaC0GEAetxi8cqLH4MEiSE0ROcU-qHOA.ttf and b/gui/slick/css/iXeptR36kaC0GEAetxi8cqLH4MEiSE0ROcU-qHOA.ttf differ
diff --git a/gui/slick/css/iXeptR36kaC0GEAetxlDMrAYtoOisqqMDW9M_Mqc.ttf b/gui/slick/css/iXeptR36kaC0GEAetxlDMrAYtoOisqqMDW9M_Mqc.ttf
index 57e8b7d54ffc5568301c942c4a7bfece55d080f7..b3d0ede0e7a670ed149d3ad30c6401eaa68aa9a5 100644
Binary files a/gui/slick/css/iXeptR36kaC0GEAetxlDMrAYtoOisqqMDW9M_Mqc.ttf and b/gui/slick/css/iXeptR36kaC0GEAetxlDMrAYtoOisqqMDW9M_Mqc.ttf differ
diff --git a/gui/slick/css/iXeptR36kaC0GEAetxp_TkvowlIOtbR7ePgFOpF4.ttf b/gui/slick/css/iXeptR36kaC0GEAetxp_TkvowlIOtbR7ePgFOpF4.ttf
index 1e54a3172d1f65d35e75139e5c22def8e95f0435..c1e2351c0215dbbda979e75c951eb23422dad10c 100644
Binary files a/gui/slick/css/iXeptR36kaC0GEAetxp_TkvowlIOtbR7ePgFOpF4.ttf and b/gui/slick/css/iXeptR36kaC0GEAetxp_TkvowlIOtbR7ePgFOpF4.ttf differ
diff --git a/gui/slick/css/iXeptR36kaC0GEAetxrfB31yxOzP-czbf6AAKCVo.ttf b/gui/slick/css/iXeptR36kaC0GEAetxrfB31yxOzP-czbf6AAKCVo.ttf
index 716c390d8f955339bda9fa605908e27038f5d892..6efbf93d406880a55274aec2ca5d0664cb8447e0 100644
Binary files a/gui/slick/css/iXeptR36kaC0GEAetxrfB31yxOzP-czbf6AAKCVo.ttf and b/gui/slick/css/iXeptR36kaC0GEAetxrfB31yxOzP-czbf6AAKCVo.ttf differ
diff --git a/gui/slick/css/style.css b/gui/slick/css/style.css
index 87ed27e80d13e674baddef254b80fb7c2dbea2e5..580c440db3eae55b745046dde48db635e03ba03b 100644
--- a/gui/slick/css/style.css
+++ b/gui/slick/css/style.css
@@ -815,6 +815,14 @@ home_newShow.mako
     border: 1px solid #DFDEDE;
 }
 
+#searchResults {
+    height: 100%;
+}
+
+#searchResults .legendStep {
+    margin-bottom: 5px;
+}
+
 #searchResults input[type="radio"] {
     vertical-align: -2px;
 }
diff --git a/gui/slick/js/core.js b/gui/slick/js/core.js
index 91cd9741fc4d5a7c7d8e97198594a588536584e0..a08ced1bda1889ea7ec63d0bc547cb9c7e6188d5 100644
--- a/gui/slick/js/core.js
+++ b/gui/slick/js/core.js
@@ -3825,68 +3825,122 @@ var SICKRAGE = {
 
         },
         newShow: function() {
-            function updateSampleText() {
+            const updateSampleText = function() {
                 // If something's selected then we have some behavior to figure out
+                let object = {
+                    showName: '',
+                    dir: 'unknown dir.',
+                    sepChar: ''
+                };
 
-                let showName = null;
-                let sepChar = null;
                 // If they've picked a radio button then use that
                 if ($('input:radio[name=whichSeries]:checked').length) {
-                    showName = $('input:radio[name=whichSeries]:checked').val().split('|')[4];
+                    object.showName = $('input:radio[name=whichSeries]:checked').val().split('|')[4];
                 } else if ($('input:hidden[name=whichSeries]').length && $('input:hidden[name=whichSeries]').val().length) { // If we provided a show in the hidden field, use that
-                    showName = $('#providedName').val();
-                } else {
-                    showName = '';
+                    object.showName = $('#providedName').val();
                 }
-                SICKRAGE.common.updateBlackWhiteList(showName);
-                let sampleText = 'Adding show <b>' + showName + '</b> into <b>';
+
+                SICKRAGE.common.updateBlackWhiteList(object.showName);
 
                 // If we have a root dir selected, figure out the path
                 if ($('#rootDirs option:selected').length) {
-                    let rootDirectoryText = $('#rootDirs option:selected').val();
-                    if (rootDirectoryText.indexOf('/') >= 0) {
-                        sepChar = '/';
-                    } else if (rootDirectoryText.indexOf('\\') >= 0) {
-                        sepChar = '\\';
-                    } else {
-                        sepChar = '';
-                    }
+                    object.dir = $('#rootDirs option:selected').val();
 
-                    if (rootDirectoryText.substr(sampleText.length - 1) !== sepChar) {
-                        rootDirectoryText += sepChar;
+                    if (object.dir.indexOf('/') >= 0) {
+                        object.sepChar = '/';
+                    } else if (object.dir.indexOf('\\') >= 0) {
+                        object.sepChar = '\\';
                     }
-                    rootDirectoryText += '<i>||</i>' + sepChar;
 
-                    sampleText += rootDirectoryText;
-                } else if ($('#fullShowPath').length && $('#fullShowPath').val().length) {
-                    sampleText += $('#fullShowPath').val();
-                } else {
-                    sampleText += 'unknown dir.';
+                    object.dir.trim(object.sepChar);
+                    object.dir += object.sepChar;
+                } else if ($('#fullShowPath').val()) {
+                    object.dir = $('#fullShowPath').val();
                 }
 
-                sampleText += '</b>';
-
                 // If we have a show name then sanitize and use it for the dir name
-                if (showName.length) {
-                    $.post(srRoot + '/addShows/sanitizeFileName', {name: showName}, function(data) {
-                        $('#displayText').html(sampleText.replace('||', data));
+                if (object.showName.length) {
+                    $.post(srRoot + '/addShows/sanitizeFileName', {name: object.showName}, function(data) {
+                        $('#desc-show-name').text(object.showName);
+                        $('#desc-directory-name').html(object.dir + data + object.sepChar);
                     });
-                // If not then it's unknown
-                } else {
-                    $('#displayText').html(sampleText.replace('||', '??'));
+                } else { // If not then it's unknown
+                    $('#desc-show-name').text(object.showName);
+                    $('#desc-directory-name').html(object.dir);
                 }
+                $('#desc-quality-name').text($('#qualityPreset option:selected').text());
 
-                // Also toggle the add show button
-                if (($('#rootDirs option:selected').length || ($('#fullShowPath').length && $('#fullShowPath').val().length)) && ($('input:radio[name=whichSeries]:checked').length) || ($('input:hidden[name=whichSeries]').length && $('input:hidden[name=whichSeries]').val().length)) { // eslint-disable-line no-mixed-operators
-                    $('#addShowButton').attr('disabled', false);
-                } else {
-                    $('#addShowButton').attr('disabled', true);
+                // If show has been selected
+                if (!($('input:radio[name=whichSeries]:checked').val() || $('input:hidden[name=whichSeries]').val())) {
+                    return $('#addShowButton').attr('disabled', true);
                 }
-            }
+
+                // If root dir has been set properly
+                if (!($('#rootDirs option:selected').val() || $('#fullShowPath').val())) {
+                    return $('#addShowButton').attr('disabled', true);
+                }
+
+                $('#addShowButton').attr('disabled', false);
+            };
+
+            const showGroupPicker = function() {
+                $('#blackwhitelist').toggle($('#anime').prop('checked'));
+            };
+
+            const buildTable = function(shows) {
+                let table =
+                    '<div class="row">' +
+                    '<div class="col-lg-6 col-md-12">' +
+                    '<table class="sickbeardTable new-show-table">' +
+                    '<thead>' +
+                    '<tr>' +
+                    '<th style="width:40px;">&nbsp;</th>' +
+                    '<th>Show Name</th>' +
+                    '<th>Premiere</th>' +
+                    '<th>Indexer</th>' +
+                    '</tr>' +
+                    '<thead>';
+
+                const selectedIndex = shows.findIndex(function(show) {
+                    return !show.inShowList;
+                });
+
+                shows.forEach(function(show, index) {
+                    table +=
+                        '<tr class="' + (show.inShowList ? 'in-list' : '') + '">' +
+                        '<td>' +
+                        '<input type="radio" class="whichSeries" name="whichSeries" value="' + show.obj + '" ' +
+                        (selectedIndex === index ? 'checked ' : '') + (show.inShowList ? 'disabled' : '') + '/>' +
+                        '</td>' +
+                        '<td>' +
+                        (function() {
+                            let string = '<a href=';
+                            if (show.inShowList) {
+                                string += '"/home/displayShow?show=' + show.id + '"';
+                            } else {
+                                string += '"' + show.url + '" target="_blank"';
+                            }
+                            string += '>' + show.title + '</a>';
+
+                            return string;
+                        })() +
+                        '</td>' +
+                        '<td>' + show.debut + '</td>' +
+                        '<td>' + show.indexer + '</td>' +
+                        '</tr>';
+                });
+
+                table +=
+                    '</table>' +
+                    '</div>' +
+                    '</div>';
+
+                return table;
+            };
 
             let searchRequestXhr = null;
-            function searchIndexers() {
-                if (!$('#nameToSearch').val().length) {
+            const searchIndexers = function() {
+                if (!$('#show-name').val()) {
                     return;
                 }
 
@@ -3894,147 +3948,104 @@ var SICKRAGE = {
                     searchRequestXhr.abort();
                 }
 
-                const searchingFor = $('#nameToSearch').val().trim() + ' on ' + $('#providedIndexer option:selected').text() + ' in ' + $('#indexerLangSelect').val();
-                $('#searchResults').empty().html('<img id="searchingAnim" src="' + srRoot + '/images/loading32' + themeSpinner + '.gif" height="32" width="32" /> ' + _('searching {searchingFor}...').replace(/{searchingFor}/, searchingFor));
+                const searchingFor = _($('#show-name').val().trim() + ' on ' + $('#providedIndexer option:selected').text() + ' in ' + $('#indexerLangSelect option:selected').text());
+                $('#searchResults').empty().html(
+                    '<img id="searchingAnim" src="' + srRoot + '/images/loading32' + themeSpinner + '.gif" height="32" width="32" /> ' +
+                    _('searching {searchingFor}...').replace(/{searchingFor}/, searchingFor)
+                );
 
                 searchRequestXhr = $.ajax({
                     url: srRoot + '/addShows/searchIndexersForShowName',
                     data: {
-                        search_term: $('#nameToSearch').val().trim(), // eslint-disable-line camelcase
+                        search_term: $('#show-name').val().trim(), // eslint-disable-line camelcase
                         lang: $('#indexerLangSelect').val(),
-                        indexer: $('#providedIndexer').val()},
+                        indexer: $('#providedIndexer').val()
+                    },
                     timeout: parseInt($('#indexer_timeout').val(), 10) * 1000,
                     dataType: 'json',
                     error: function() {
                         $('#searchResults').empty().html(_('search timed out, try again or try another indexer'));
+                        $('.next-steps').hide();
                     },
                     success: function(data) {
-                        let firstResult = true;
-                        let resultStr = '<fieldset>\n<legend class="legendStep">Search Results:</legend>\n';
-                        let checked = '';
-                        let disabled = '';
+                        let resultStr = '<legend class="legendStep">#2 Pick a Show</legend>';
 
                         if (data.results.length === 0) {
                             resultStr += '<b>No results found, try a different search.</b>';
+                            $('.next-steps').hide();
                         } else {
-                            $.each(data.results, function(index, obj) {
-                                const inShowList = obj[6];
-                                disabled = inShowList ? ' title="Already in your show list" disabled' : '';
-
-                                if (firstResult && !inShowList) {
-                                    checked = ' checked';
-                                    firstResult = false;
-                                } else {
-                                    checked = '';
-                                }
-
-                                const whichSeries = obj.join('|');
-
-                                resultStr += '<input type="radio" id="whichSeries" name="whichSeries" value="' + whichSeries.replace(/"/g, '') + '"' + disabled + checked + ' /> ';
-                                if (data.langid && data.langid !== '') {
-                                    resultStr += '<a href="' + anonURL + obj[2] + obj[3] + '&lid=' + data.langid + '" onclick="window.open(this.href, \'_blank\'); return false;" ><b>' + obj[4] + '</b></a>';
-                                } else {
-                                    resultStr += '<a href="' + anonURL + obj[2] + obj[3] + '" onclick="window.open(this.href, \'_blank\'); return false;" ><b>' + obj[4] + '</b></a>';
-                                }
+                            let shows = [];
 
-                                if (obj[5] !== null) {
-                                    const startDate = new Date(obj[5]);
-                                    const today = new Date();
-                                    if (startDate > today) {
-                                        resultStr += ' (will debut on ' + obj[5] + ')';
-                                    } else {
-                                        resultStr += ' (started on ' + obj[5] + ')';
-                                    }
+                            $.each(data.results, function(index, obj) {
+                                let whichSeries = obj.join('|').replace(/"/g, '');
+
+                                let show = {
+                                    obj: whichSeries,
+                                    indexer: obj[0],
+                                    id: obj[3],
+                                    title: obj[4],
+                                    debut: obj[5],
+                                    inShowList: obj[6],
+                                    url: anonURL + obj[2] + obj[3]
+                                };
+
+                                if (data.langid) {
+                                    show.url += '&lid=' + data.langid;
                                 }
 
-                                if (obj[0] !== null) {
-                                    resultStr += ' [' + obj[0] + ']';
-                                }
+                                shows.push(show);
+                            });
 
-                                if (inShowList) {
-                                    resultStr += ' &mdash; <a href="' + srRoot + '/home/displayShow?show=' + obj[3] + '"><strong>Already in your show list</strong></a>';
-                                }
+                            resultStr += buildTable(shows);
 
-                                resultStr += '<br>';
-                            });
-                            resultStr += '</ul>';
+                            $('.next-steps').show();
                         }
-                        resultStr += '</fieldset>';
+
                         $('#searchResults').html(resultStr);
                         updateSampleText();
-                        myform.loadsection(0); // eslint-disable-line no-use-before-define
                     }
                 });
-            }
-
-            $('#searchName').on('click', function() {
-                searchIndexers();
-            });
+            };
 
-            if ($('#nameToSearch').length && $('#nameToSearch').val().length) {
-                $('#searchName').click();
-            }
+            $('#search-button').on('click', searchIndexers);
 
             $('#addShowButton').on('click', function() {
                 // If they haven't picked a show don't let them submit
-                if (!$('input:radio[name="whichSeries"]:checked').val() && !$('input:hidden[name="whichSeries"]').val().length) {
+                if (!$('input:radio[name="whichSeries"]:checked').val()) {
                     notifyModal('You must choose a show to continue');
                     return false;
                 }
+
                 generateBlackWhiteList(); // eslint-disable-line no-undef
                 $('#addShowForm').submit();
             });
 
+            $('#anime').on('click', function() {
+                showGroupPicker();
+                updateSampleText();
+            });
+
             $('#skipShowButton').on('click', function() {
                 $('#skipShow').val('1');
                 $('#addShowForm').submit();
             });
 
-            /** *********************************************
-            * JQuery Form to Form Wizard- (c) Dynamic Drive (www.dynamicdrive.com)
-            * This notice MUST stay intact for legal use
-            * Visit http://www.dynamicdrive.com/ for this script and 100s more.
-            ********************************************** */
-
-            function goToStep(num) {
-                $('.step').each(function() {
-                    if ($.data(this, 'section') + 1 === num) {
-                        $(this).click();
-                    }
-                });
-            }
-
-            $('#nameToSearch').focus();
-
-            // @TODO we need to move to real forms instead of this
-            const myform = new formtowizard({ // eslint-disable-line new-cap,no-undef
-                formid: 'addShowForm',
-                revealfx: ['slide', 500],
-                oninit: function() {
-                    updateSampleText();
-                    if ($('input:hidden[name=whichSeries]').length && $('#fullShowPath').length) {
-                        goToStep(3);
-                    }
-                }
-            });
-
             $('#rootDirText').change(updateSampleText);
-            $('#searchResults').on('change', '#whichSeries', updateSampleText);
+            $('#qualityPreset').change(updateSampleText);
+            $('#searchResults').on('change', '.whichSeries', updateSampleText);
 
-            $('#nameToSearch').keyup(function(event) {
-                if (event.keyCode === 13) {
-                    $('#searchName').click();
+            $('#show-name').on('focus keyup', function(event) {
+                if (event.keyCode === 13) { // Enter
+                    $('#search-button').click();
                 }
             });
 
-            $('#anime').on('change', function() {
-                updateSampleText();
-                myform.loadsection(2);
-            });
+            if ($('#show-name').val()) {
+                $('#search-button').click();
+            }
 
-            $('#qualityPreset').on('change', function() {
-                myform.loadsection(2);
-            });
+            updateSampleText();
+            showGroupPicker();
         },
         addExistingShow: function() {
             $('#tableDiv').on('click', '#checkAll', function() {
diff --git a/gui/slick/js/core.min.js b/gui/slick/js/core.min.js
index a9e01c745da9b335dd56c45d42df563e2dd38a7a..2e6e149e0d811be53c7ab794877943855521abbf 100644
Binary files a/gui/slick/js/core.min.js and b/gui/slick/js/core.min.js differ
diff --git a/gui/slick/js/vender.min.js b/gui/slick/js/vender.min.js
index 38f5dc932b00366fee8ffa75ae87eb9240ae95e2..ae576b12347249e1cae2373a1db6fa0c0ff7b598 100644
Binary files a/gui/slick/js/vender.min.js and b/gui/slick/js/vender.min.js differ
diff --git a/gui/slick/views/addShows_newShow.mako b/gui/slick/views/addShows_newShow.mako
index 83f4988597b34616299d113cf9786ac991488311..beea49e68471eb482e8977dbd2b0d892b948bae7 100644
--- a/gui/slick/views/addShows_newShow.mako
+++ b/gui/slick/views/addShows_newShow.mako
@@ -16,98 +16,155 @@
 
 <%block name="pages">
     <div id="core-component-group1" class="tab-pane active component-group">
-        <div class="row">
-            <div class="col-md-12">
-                <div id="displayText"></div>
-            </div>
-        </div>
-        <br/>
         <div class="row">
             <div class="col-md-12">
                 <form id="addShowForm" method="post" action="${srRoot}/addShows/addNewShow" accept-charset="utf-8">
 
-                    <fieldset class="sectionwrap">
-                        <legend class="legendStep">${_('Find a show on theTVDB')}</legend>
-                        <div class="row stepDiv">
-                            <div class="col-md-12">
-                                <input type="hidden" id="indexer_timeout" value="${sickbeard.INDEXER_TIMEOUT}" />
+                    <legend class="legendStep">#1 ${_('Search for a Show')}</legend>
+                    <div class="row stepDiv">
+                        <div class="col-md-12">
+                            <input type="hidden" id="indexer_timeout" value="${sickbeard.INDEXER_TIMEOUT}"/>
 
-                                % if use_provided_info:
-                                    <label>${_('Show retrieved from existing metadata')}: <a href="${anon_url(sickbeard.indexerApi(provided_indexer).config['show_url'], provided_indexer_id)}">${provided_indexer_name}</a></label>
-                                    <input type="hidden" id="indexerLang" name="indexerLang" value="en" />
-                                    <input type="hidden" id="whichSeries" name="whichSeries" value="${provided_indexer_id}" />
-                                    <input type="hidden" id="providedIndexer" name="providedIndexer" value="${provided_indexer}" />
-                                    <input type="hidden" id="providedName" value="${provided_indexer_name}" />
-                                % else:
-                                    <input type="text" id="nameToSearch" value="${default_show_name}" class="form-control form-control-inline input-sm input350" autocapitalize="off" />
-                                    &nbsp;&nbsp;
-                                    <select name="indexerLang" id="indexerLangSelect" class="form-control form-control-inline input-sm bfh-languages" data-language="${sickbeard.INDEXER_DEFAULT_LANGUAGE}" data-available="${','.join(sickbeard.indexerApi().config['valid_languages'])}">
-                                    </select>
-                                    <b>*</b>
-                                    &nbsp;
-                                    <select name="providedIndexer" id="providedIndexer" class="form-control form-control-inline input-sm">
-                                        <option value="0" ${('', 'selected="selected"')[provided_indexer == 0]}>${_('All Indexers')}</option>
-                                        % for indexer in indexers:
-                                            <option value="${indexer}" ${('', 'selected="selected"')[provided_indexer == indexer]}>
-                                                ${indexers[indexer]}
-                                            </option>
-                                        % endfor
-                                    </select>
-                                    &nbsp;
-                                    <input class="btn btn-inline" type="button" id="searchName" value="${_('Search')}" />
-                                    <br/><br/>
-                                    <p>
-                                        <b>*</b>${_('This will only affect the language of the retrieved metadata file contents and episode filenames.')}<br/>
-                                        ${_('This <b>DOES NOT</b> allow SickRage to download non-english TV episodes!')}
-                                    </p>
-                                    <br/><br/>
-                                    <div id="searchResults" style="height: 100%;"><br/></div>
-                                % endif
-                            </div>
+                            % if use_provided_info:
+                                <label>${_('Show retrieved from existing metadata')}:
+                                    <a href="${anon_url(sickbeard.indexerApi(provided_indexer).config['show_url'], provided_indexer_id)}">${provided_indexer_name}</a>
+                                </label>
+                                <input type="hidden" id="indexerLang" name="indexerLang" value="en"/>
+                                <input type="hidden" id="whichSeries" name="whichSeries"
+                                       value="${provided_indexer_id}"/>
+                                <input type="hidden" id="providedIndexer" name="providedIndexer"
+                                       value="${provided_indexer}"/>
+                                <input type="hidden" id="providedName" value="${provided_indexer_name}"/>
+                            % else:
+                                <div class="field-pair row">
+                                    <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
+                                        <span class="component-title">${_('Show name')}</span>
+                                    </div>
+                                    <div class="col-lg-9 col-md-8 col-sm-7 col-xs-12 component-desc">
+                                        <input type="text" id="show-name" value="${default_show_name}"
+                                               placeholder="Show name" autofocus
+                                               class="form-control form-control-inline input-sm input350"
+                                               autocapitalize="off"/>
+                                    </div>
+                                </div>
+                                <div class="field-pair row">
+                                    <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
+                                        <span class="component-title">${_('Metadata language')}</span>
+                                    </div>
+                                    <div class="col-lg-9 col-md-8 col-sm-7 col-xs-12 component-desc">
+                                        <div class="row">
+                                            <div class="col-md-12">
+                                                <select name="indexerLang" id="indexerLangSelect"
+                                                        class="form-control form-control-inline input-sm bfh-languages"
+                                                        data-language="${sickbeard.INDEXER_DEFAULT_LANGUAGE}"
+                                                        data-available="${','.join(sickbeard.indexerApi().config['valid_languages'])}"></select>
+                                            </div>
+                                        </div>
+                                        <div class="row">
+                                            <div class="col-md-12">
+                                                <span>${_('This will only affect the language of the retrieved metadata file contents and episode filenames.')}</span>
+                                                <br/>
+                                                <span>${_('This <b>DOES NOT</b> allow SickRage to download non-english TV episodes!')}</span>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="field-pair row">
+                                    <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
+                                        <span class="component-title">${_('Indexer')}</span>
+                                    </div>
+                                    <div class="col-lg-9 col-md-8 col-sm-7 col-xs-12 component-desc">
+                                        <select name="providedIndexer" id="providedIndexer"
+                                                class="form-control form-control-inline input-sm">
+                                            <option value="0" ${('', 'selected="selected"')[provided_indexer == 0]}>${_('All Indexers')}</option>
+                                            % for indexer in indexers:
+                                                <option value="${indexer}" ${('', 'selected="selected"')[provided_indexer == indexer]}>
+                                                    ${indexers[indexer]}
+                                                </option>
+                                            % endfor
+                                        </select>
+                                    </div>
+                                </div>
+                                <div class="field-pair row">
+                                    <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
+                                        <span class="component-title">
+                                            <input class="btn btn-inline" type="button" id="search-button" value="${_('Search')}"/>
+                                        </span>
+                                    </div>
+                                </div>
+                                <div id="searchResults"><br/></div>
+                            % endif
                         </div>
-                    </fieldset>
+                    </div>
 
-                    <fieldset class="sectionwrap">
+                    <div class="next-steps" style="display: none;">
+                        <legend class="legendStep">#3 ${_('Pick the Folder')}</legend>
                         <div class="row stepDiv">
-                            <div class="col-md-12">
-                                <legend class="legendStep">${_('Pick the parent folder')}</legend>
+                            <div class="col-lg-6 col-sm-12">
                                 % if provided_show_dir:
-                                    <p>${_('Pre-chosen Destination Folder')}: <b>${provided_show_dir}</b></p>
-                                    <br>
-                                    <input type="hidden" id="fullShowPath" name="fullShowPath" value="${provided_show_dir}" />
+                                    <p>${_('Pre-chosen Destination Folder')}:</p>
+                                    <b style="font-size: 15px;">${provided_show_dir}</b>
                                     <br>
+                                    <input type="hidden" id="fullShowPath" name="fullShowPath"
+                                           value="${provided_show_dir}"/>
+                                    <br/>
                                 % else:
                                     <%include file="/inc_rootDirs.mako"/>
                                 % endif
                             </div>
                         </div>
-                    </fieldset>
 
-                    <fieldset class="sectionwrap">
+                        <legend class="legendStep">#4 ${_('Customize options')}</legend>
+                        <div class="row stepDiv">
+                            <div class="col-md-12">
+                                    <%include file="/inc_addShowOptions.mako"/>
+                            </div>
+                        </div>
+
+                        <legend class="legendStep">#5 ${_('Verify Your Input')}</legend>
                         <div class="row stepDiv">
                             <div class="col-md-12">
-                                <legend class="legendStep">${_('Customize options')}</legend>
-                                <%include file="/inc_addShowOptions.mako"/>
+                                <div class="field-pair row">
+                                    <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
+                                        <span class="component-title">${_('Show name')}</span>
+                                    </div>
+                                    <div class="col-lg-9 col-md-8 col-sm-7 col-xs-12 component-desc">
+                                        <span id="desc-show-name"></span>
+                                    </div>
+                                </div>
+                                <div class="field-pair row">
+                                    <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
+                                        <span class="component-title">${_('Directory')}</span>
+                                    </div>
+                                    <div class="col-lg-9 col-md-8 col-sm-7 col-xs-12 component-desc desc-directory">
+                                        <span id="desc-directory-name"></span>
+                                    </div>
+                                </div>
+                                <div class="field-pair row">
+                                    <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
+                                        <span class="component-title">${_('Quality')}</span>
+                                    </div>
+                                    <div class="col-lg-9 col-md-8 col-sm-7 col-xs-12 component-desc desc-quality">
+                                        <span id="desc-quality-name"></span>
+                                    </div>
+                                </div>
                             </div>
                         </div>
-                    </fieldset>
 
-                    % for curNextDir in other_shows:
-                        <input type="hidden" name="other_shows" value="${curNextDir}" />
-                    % endfor
-                    <input type="hidden" name="skipShow" id="skipShow"/>
+                        % for curNextDir in other_shows:
+                            <input type="hidden" name="other_shows" value="${curNextDir}"/>
+                        % endfor
+                        <input type="hidden" name="skipShow" id="skipShow"/>
+                    </div>
                 </form>
             </div>
         </div>
-        <br/>
         <div class="row">
             <div class="col-md-12">
-                <div style="text-align: center;">
-                    <input class="btn" type="button" id="addShowButton" value="${_('Add Show')}" disabled="disabled" />
-                    % if provided_show_dir:
-                        <input class="btn" type="button" id="skipShowButton" value="${_('Skip Show')}" />
-                    % endif
-                </div>
+                <input class="btn" type="button" id="addShowButton" value="${_('Add Show')}" disabled="disabled"/>
+                % if provided_show_dir:
+                    <input class="btn" type="button" id="skipShowButton" value="${_('Skip Show')}"/>
+                % endif
             </div>
         </div>
     </div>
diff --git a/gui/slick/views/inc_addShowOptions.mako b/gui/slick/views/inc_addShowOptions.mako
index afb55d55d1d7011382a50a48005e8277a27e2beb..361d48fd01f4b0324a9780c23a8b849132a3b88f 100644
--- a/gui/slick/views/inc_addShowOptions.mako
+++ b/gui/slick/views/inc_addShowOptions.mako
@@ -99,7 +99,7 @@
     <div class="field-pair row">
         <div class="col-lg-3 col-md-4 col-sm-5 col-xs-12">
             <span class="component-title">
-                <input class="btn btn-inline" type="button" id="saveDefaultsButton" value="${_('Save Defaults')}" disabled="disabled" />
+                <input class="btn btn-inline" type="button" id="saveDefaultsButton" value="${_('Save as default')}" disabled="disabled" />
             </span>
         </div>
         <div class="col-lg-9 col-md-8 col-sm-7 col-xs-12 component-desc">
diff --git a/gui/slick/views/inc_rootDirs.mako b/gui/slick/views/inc_rootDirs.mako
index 8eadc297fd99aa235d3da0c25fc705aff8f82d7b..a4c5c1d7f656c315aadbc8a0eae9fe004b210042 100644
--- a/gui/slick/views/inc_rootDirs.mako
+++ b/gui/slick/views/inc_rootDirs.mako
@@ -30,7 +30,7 @@
             <input class="btn" type="button" id="addRootDir" value="${_('New')}" />
             <input class="btn" type="button" id="editRootDir" value="${_('Edit')}" />
             <input class="btn" type="button" id="deleteRootDir" value="${_('Delete')}" />
-            <input class="btn" type="button" id="defaultRootDir" value="${_('Set as Default')} *" />
+            <input class="btn" type="button" id="defaultRootDir" value="${_('Set as default')} *" />
         </div>
         <input type="text" style="display: none" id="rootDirText" autocapitalize="off" />
     </div>