/// <summary>
        /// Provides a basic console selection for either scraping or comparing
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task Run(string[] args)
        {
            if (_config.RunScheduled)
            {
                await RunScheduled().ConfigureAwait(false);

                Environment.Exit(0);
            }

            // Start Ui
            Console.WriteLine("");
            Console.WriteLine("Welcome to the one and only truly amazing .NET Core Web scraping monitoring tool...");
            Console.WriteLine("Please return to proceed...");
            Console.ReadLine();

            var option = "";

            while (option != "1" && option != "2")
            {
                Console.Clear();
                Console.WriteLine("");
                Console.WriteLine("Please select your option...");
                Console.WriteLine("1. Start new web scrape");
                Console.WriteLine("2. Start web comparison");
                Console.WriteLine("");
                Console.WriteLine("Q. To exit this beautiful tool");
                option = Console.ReadLine();

                if (option == "q")
                {
                    break;
                }
            }

            if (option == "1")
            {
                var(result, count) = await _scraper.StartScrape().ConfigureAwait(false);

                if (result)
                {
                    Console.Clear();
                    Console.WriteLine("");
                    Console.WriteLine("Web scrape completed successfully!");
                    Console.WriteLine($"{count} Url parsed successfully!");
                    Console.WriteLine("");
                    Console.WriteLine("Please return to proceed...");
                    Console.ReadLine();

                    if (_config.SendOutputEmails)
                    {
                        if (_config.ConsoleLogging)
                        {
                            Console.WriteLine("");
                            Console.WriteLine("Sending successful web scrape email...");
                        }

                        var subject = $"Web scrape of {_config.RootUrl} completed successfully!";
                        await SendEmail(subject, new ComparisonModel(), count).ConfigureAwait(false);
                    }
                }
                else
                {
                    Console.WriteLine("");
                    Console.WriteLine("Unable to complete web scrape successfully!");
                    Console.WriteLine("Please ensure appsettings.json is configured correctly!");
                    Console.WriteLine("Please return to exit...");
                    Console.ReadLine();
                }
            }

            if (option == "2")
            {
                Console.Clear();
                Console.WriteLine("");
                Console.WriteLine("Please type the first of folder names you wish to compare...");
                var FolderOne = Console.ReadLine();

                while (!Directory.Exists($"{_config.FilePath}\\{FolderOne}"))
                {
                    Console.Clear();
                    Console.WriteLine("");
                    Console.WriteLine("Please type the name again...");
                    FolderOne = Console.ReadLine();
                }

                Console.Clear();
                Console.WriteLine("");
                Console.WriteLine("Please type the second of folder names you wish to compare...");
                var FolderTwo = Console.ReadLine();

                while (!Directory.Exists($"{_config.FilePath}\\{FolderTwo}"))
                {
                    Console.Clear();
                    Console.WriteLine("");
                    Console.WriteLine("Please type the name again...");
                    FolderTwo = Console.ReadLine();
                }

                Console.Clear();
                Console.WriteLine("");
                Console.WriteLine("Two folders have been selected...");
                Console.WriteLine("Please press return to begin comparison...");
                Console.ReadLine();

                Console.Clear();
                Console.WriteLine("");
                Console.WriteLine("Beginning folder comparison...");
                Console.WriteLine("");

                var comparison = _compare.StartCompare($"{_config.FilePath}\\{FolderOne}", $"{_config.FilePath}\\{FolderTwo}");
                if (comparison.IsComparisonComplete)
                {
                    if (_config.SendOutputEmails)
                    {
                        if (_config.ConsoleLogging)
                        {
                            Console.WriteLine("");
                            Console.WriteLine("Sending successful comparison email...");
                        }

                        var subject = "Web scraper has completed comparison";
                        await SendEmail(subject, comparison, 0).ConfigureAwait(false);
                    }
                }
                else
                {
                    Console.WriteLine("");
                    Console.WriteLine("Unable to complete comparison successfully!");
                    Console.WriteLine("Please ensure appsettings.json is configured correctly!");
                    Console.WriteLine("Please return to exit...");
                    Console.ReadLine();
                }

                Environment.Exit(0);
            }
        }