// mode 1
        internal static void AddVehicle()
        {
            string licenseNumber       = string.Empty;
            string getLicenseNumberMsg = @"
In order to add a new vehicle to the system, please enter its license number:";

            Console.WriteLine(getLicenseNumberMsg);
            licenseNumber = GetInput.GetLicenseNumber(true, out bool isLicenseNumberRegistered);
            if (isLicenseNumberRegistered)
            {
                Console.WriteLine($"You changed vehicle number {licenseNumber} to 'inRepair' status");
                s_Garage.ChangeStatusOfVehicle(licenseNumber, eStatus.InRepair);
            }
            else
            {
                eVehicleType vehicleType     = eVehicleType.Car;
                string       model           = string.Empty;
                string       nameOfOwner     = string.Empty;
                string       phoneNumOfOwner = string.Empty;

                bool     isElectric         = false;
                float    currentEnergyLevel = 0.0f;
                float    currentAirPressure = 0.0f;
                string   wheelManufacturer  = string.Empty;
                object[] uniqueFeatures     = null;

                string getVehicleTypeMsg = @"
Please pick a vehicle type:
{0}";
                getVehicleTypeMsg = string.Format(getVehicleTypeMsg, buildMenuFromEnum(typeof(eVehicleType)));
                string getModel              = @"
Please enter the vehicle's model:";
                string getNameOfOwnerMsg     = @"
Please enter the vehicle's owner name (letters only):";
                string getPhoneNumOfOwnerMsg = @"
Please enter the owner's phone number (digits only):";

                string getIsElectricMsg         = @"
Is the vehicle electric? (yes / no)";
                string getCurrentEnergyLevelMsg = @"
Please enter the current amount of {0}:";
                string getCurrentAirPressureMsg = @"
Please enter the current air pressure:";

                string getWheelManufacturerMsg = @"
Please enter the wheels manufacturer:";
                string uniqueFeatureMsg        = @"
Please enter {0}, possible values are:
{1}";
                string successMsg = @"
Registration complete!";

                string failsMsg = @"
Registration could not be completed missing data";

                Console.WriteLine(getVehicleTypeMsg);
                vehicleType = GetInput.GetVehicleType();
                Console.WriteLine(getModel);
                model = GetInput.GetValidString(false, false);
                Console.WriteLine(getNameOfOwnerMsg);
                nameOfOwner = GetInput.GetValidString(false, true);
                Console.WriteLine(getPhoneNumOfOwnerMsg);
                phoneNumOfOwner = GetInput.GetValidString(true, false);
                VehicleBuilder newVehicle = s_Garage.BuildVehicle(vehicleType, model, licenseNumber, nameOfOwner, phoneNumOfOwner);

                if (newVehicle.CanBeElectric())
                {
                    Console.WriteLine(getIsElectricMsg);
                    isElectric = GetInput.GetIsElectricOrNot();
                }

                getCurrentEnergyLevelMsg = string.Format(getCurrentEnergyLevelMsg, isElectric ? "battery" : "gas");
                Console.WriteLine(getCurrentEnergyLevelMsg);
                currentEnergyLevel = GetInput.GetValidFloat();
                setEnergyUI(newVehicle, isElectric, currentEnergyLevel);

                Console.WriteLine(getWheelManufacturerMsg);
                wheelManufacturer = GetInput.GetValidString(false, false);
                Console.WriteLine(getCurrentAirPressureMsg);
                currentAirPressure = GetInput.GetValidFloat();
                setWheelsUI(newVehicle, wheelManufacturer, currentAirPressure);

                uniqueFeatures = GetInput.GetUniqueFeatures(uniqueFeatureMsg, newVehicle);

                newVehicle.SetUniqueFeatures(uniqueFeatures);

                if (s_Garage.TryAddVehicle(newVehicle, licenseNumber))
                {
                    Console.WriteLine(successMsg);
                }
                else
                {
                    Console.Out.WriteLine(failsMsg);
                }
            }
        }