//It is very open to your interpretation, but it could look something like below, which basically gives the user the ability to interact with all the methods you created-> //A example Main menu to interact with the garage: //1. Add a Car to the Garage //2. Remove a Car from the Garage //3. List all Cars //4. Test drive a car //5. Refuel all cars //And then a sub menu to interact with the car that was selected(under 4. Test drive a car): //1. Turn on car //2. Accelerate //3. Brake //4. Turn off car //5. Return car static void Main(string[] args) { Garage joeGarage = new Garage(); int selection = 0; restartMainMenu(); do { var input = Console.ReadKey(false).Key; switch (input) { case ConsoleKey.D1: //the D1 means "1" above the q key and Numpad1 means "1" on num pad! case ConsoleKey.NumPad1: //once you're in the switch, it continues until a break, so D1 or NumPad1 //Console.WriteLine("Decision Has Been Made!!! - 1\n"); selection = 1; Console.WriteLine("Add a Car to the Garage!\n"); Console.Write("\tEnter Make: "); string theMake = Console.ReadLine(); Console.Write("\n\tEnter Model: "); string theModel = Console.ReadLine(); joeGarage.AddCar(theMake, theModel); restartMainMenu(); break; case ConsoleKey.D2: case ConsoleKey.NumPad2: //Console.WriteLine("Decision Has Been Made!!! - 2\n"); selection = 2; Console.WriteLine("Remove a Car from the Garage!\n"); Console.Write("\tEnter Make: "); string theRemovedMake = Console.ReadLine(); Console.Write("\n\tEnter Model: "); string theRemovedModel = Console.ReadLine(); joeGarage.RemoveCarByMakeAndModel(theRemovedMake, theRemovedModel); Console.WriteLine("\n...Press Enter to Continue"); Console.ReadLine(); restartMainMenu(); break; case ConsoleKey.D3: case ConsoleKey.NumPad3: //Console.WriteLine("Decision Has Been Made!!! - 3\n"); selection = 3; Console.WriteLine(" MAKE MODEL RUNNING? FUEL SPEED"); for (int car = 0; car < joeGarage.TheGarage.Count; car++) { Console.WriteLine(car + " " + joeGarage.AllStatsofCarToString(car)); } Console.WriteLine("\n...Press Enter to Continue"); Console.ReadLine(); restartMainMenu(); break; case ConsoleKey.D4: case ConsoleKey.NumPad4: //Console.WriteLine("Decision Has Been Made!!! - 4\n"); selection = 4; carOpsMenu(ref joeGarage); selection = 0; restartMainMenu(); break; case ConsoleKey.D5: case ConsoleKey.NumPad5: Console.WriteLine("Decision Has Been Made!!! - 5\n"); selection = 5; joeGarage.FuelAllCars(); Console.WriteLine("\n...Press Enter to Continue"); Console.ReadLine(); restartMainMenu(); break; case ConsoleKey.Escape: selection = 6; break; case ConsoleKey.Enter: break; default: break; } } while (selection != 6); }