static void Main(string[] args) { bool shouldContinue = true; var myATM = new ATM(); while (shouldContinue) { var selection = PromptForAction(); RunAccountAction(selection, myATM); Console.Clear(); while (myATM.CurrentAccount != null) { Console.WriteLine($"Welcome {myATM.CurrentAccount.Name}!\n"); var transaction = PromptForTransaction(); RunTransaction(transaction, myATM); if (ShouldDoSomethingElse()) { continue; } } shouldContinue = AreYouSure(); } myATM.UpdateRecords(); }