static void Main(string[] args)
        {
            string currentDirectory = Directory.GetCurrentDirectory();
            string inputFileName    = "vendingmachine.csv";
            string readFilePath     = Path.Combine(currentDirectory, inputFileName);

            VendingMachine vendoMatic600 = new VendingMachine(readFilePath);
            bool           exitMainMenu  = false;
            Menu           mainMenu      = new Menu();

            string[] mainMenuOptions = { "Display Items", "Purchase", "EXIT", "Sales Report" };
            Menu     purchaseMenu    = new Menu();

            string[] purchaseMenuOptions = { "Feed Money", "Select Product", "Finish Transaction" };

            //while loop returns user to the main menu
            while (!exitMainMenu)
            {
                mainMenu.DisplayMenu(mainMenuOptions, 1);
                string inputKey = Console.ReadLine();

                if (inputKey == "1")
                {
                    Console.Clear();
                    Console.WriteLine(vendoMatic600.DisplayProducts());
                }
                else if (inputKey == "2")
                {
                    //purchaseMenu is displayed, loop for same reason
                    bool exitPurchaseMenu = false;
                    while (!exitPurchaseMenu)
                    {
                        Console.WriteLine();
                        purchaseMenu.DisplayMenu(purchaseMenuOptions);
                        string purchaseInputKey = Console.ReadLine();
                        Console.WriteLine($"\nCurrent Money: {vendoMatic600.StoredMoney.ToString("C2")}");

                        if (purchaseInputKey == "1")
                        {
                            Console.Clear();
                            Console.WriteLine($"\nInsert a bill: $(1), $(2), $(5), or $(10)");
                            string moneyInserted = Console.ReadLine();
                            Console.WriteLine(vendoMatic600.FeedMoney(moneyInserted));
                        }
                        else if (purchaseInputKey == "2")
                        {
                            Console.Clear();
                            Console.WriteLine(vendoMatic600.DisplayProducts());
                            Console.WriteLine($"Current Money: {vendoMatic600.StoredMoney.ToString("C2")}");
                            Console.WriteLine("\nSelect the product you would like to purchase by entering its slot. Ex: A4, C3, B1, D2, etc");
                            string userSelectedSlot = Console.ReadLine().ToUpper();
                            Console.Clear();
                            Console.WriteLine(vendoMatic600.SelectItemAndPurchase(userSelectedSlot));
                        }
                        else if (purchaseInputKey == "3")
                        {
                            int[] finalChangeInCoins = vendoMatic600.GiveChange();

                            Console.WriteLine($"\nYour change is: {finalChangeInCoins[0]} quarter(s), {finalChangeInCoins[1]} dime(s), {finalChangeInCoins[2]} nickel(s)");
                            exitPurchaseMenu = true;
                        }
                        else
                        {
                            Console.WriteLine("\nUnknown input. Try again.");
                        }
                    }
                }
                else if (inputKey == "3")
                {
                    if (vendoMatic600.StoredMoney != 0)
                    {
                        vendoMatic600.GiveChange();
                    }
                    Console.WriteLine();
                    exitMainMenu = true;
                }
                else if (inputKey == "4")
                {
                    SalesReport salesReport = new SalesReport();

                    string        partialFileName      = "SalesReport";
                    DirectoryInfo salesReportDirectory = new DirectoryInfo(currentDirectory);
                    FileInfo[]    salesReportFiles     = salesReportDirectory.GetFiles(partialFileName + "*.txt");

                    if (salesReportFiles.Length == 0)
                    {
                        salesReport.CreateFirstReport(vendoMatic600);
                    }
                    else
                    {
                        salesReport.CreateUpdatedSalesReport(vendoMatic600);
                    }
                    Console.WriteLine("\nSales Report Generated\n");
                }
                else
                {
                    Console.WriteLine("\nUnknown input. Try again.\n");
                }
            }
        }