public static void SearchLoop()
        {
            while (true)
            {
                PeriodicTable pt = new PeriodicTable();

                Console.Write("Select search mode [1: Atomic Number, 2: Symbol, 3: Name, 4: quit]: ");
                string mode = Console.ReadLine();
                if (mode == "4")
                {
                    return;
                }

                Console.Write("Search: ");
                string  search = Console.ReadLine();
                Element element;

                try
                {
                    switch (mode)
                    {
                    case "1":
                        element = pt.GetElement(Convert.ToInt32(search));
                        break;

                    case "2":
                        element = pt.GetElement(search);
                        break;

                    case "3":
                        element = pt.GetElementByName(search);
                        break;

                    default:
                        Console.WriteLine("ERROR: Invalid input detected.");
                        continue;
                    }
                }
                catch (System.Collections.Generic.KeyNotFoundException)
                {
                    // supress exception from being thrown
                    Console.WriteLine("ERROR: No matching element was found.");
                    continue;
                }
                Console.WriteLine("Atomic Number: {0}", element.AtomicNumber);
                Console.WriteLine("Name: {0}", element.Name);
                Console.WriteLine("Symbol: {0}", element.Symbol);
                Console.WriteLine("Weight: {0}M", element.AtomicWeight);
                Console.WriteLine();
            }
        }