public void Add()
        {
            //create placeholder ticket
            Enhancement fresh = new Enhancement();

            //set ticket #
            if (Enhancements.Count == 0)
            {
                fresh.TicketId = 1;
            }
            else
            {
                fresh.TicketId = Enhancements[Enhancements.Count - 1].TicketId + 1;
            }

            //get summary
            Console.Write("=Enter Bug Summary:\n" +
                          "===");
            string input = Console.ReadLine();

            fresh.Summary = "\"" + input + "\"";

            //get status
            Console.Write("=Choose Bug Status:\n" +
                          "=1) Open\n" +
                          "=2) Closed\n" +
                          "===");
            switch (Validate.ValidateMenuSelection(Console.ReadLine(), 2))
            {
            case "1":
                fresh.Status = Status.Open;
                break;

            case "2":
                fresh.Status = Status.Closed;
                break;
            }

            //get priority
            Console.Write("=Choose Bug Priority:\n" +
                          "=1) High\n" +
                          "=2) Medium\n" +
                          "=3) Low\n" +
                          "=4) Negligible\n" +
                          "===");
            switch (Validate.ValidateMenuSelection(Console.ReadLine(), 4))
            {
            case "1":
                fresh.Priority = Priority.High;
                break;

            case "2":
                fresh.Priority = Priority.Medium;
                break;

            case "3":
                fresh.Priority = Priority.Low;
                break;

            case "4":
                fresh.Priority = Priority.Negligible;
                break;
            }

            //get name of submitter
            Console.Write("=Enter Name of Submitter: ");
            fresh.Submitter = Validate.ValidateName(Console.ReadLine());

            //get name of assigned
            Console.Write("=Enter Name of Assigned: ");
            fresh.Assigned = Validate.ValidateName(Console.ReadLine());

            //get number of watchers
            Console.Write("=Enter Number of Bug Watchers: ");
            var num = Validate.ValidateNumber(Console.ReadLine());

            if (num == "0")
            {
                fresh.Watching = "No Watchers";
            }
            else
            {
                //list for watchers
                List <string> watchers = new List <string>();
                for (var i = 0; i < int.Parse(num); i++)
                {
                    //get name of watchers
                    Console.Write("=Enter the Name of the Watcher: ");
                    watchers.Add(Validate.ValidateName(Console.ReadLine()));
                }
                //join watchers with '|' and add to fresh
                fresh.Watching = String.Join("|", watchers.ToArray());
            }

            //get software
            Console.Write("=Enter Name of the Project: ");
            fresh.Software = Validate.ValidateForChars(Console.ReadLine());

            //get cost
            Console.Write("=Enter Cost: ");
            fresh.Cost = Validate.ValidateDouble(Console.ReadLine());

            //get reason
            Console.Write("=Enter Reason: ");
            fresh.Reason = Validate.ValidateForChars(Console.ReadLine());

            //get estimate
            Console.Write("=Enter Estimate: ");
            fresh.Estimate = Validate.ValidateForChars(Console.ReadLine());

            //confirm ticket
            Console.WriteLine("=Ticket information to be entered:");
            fresh.Display();
            Console.Write("=Confirm?\n" +
                          "=1) Add\n" +
                          "=2) Cancel\n" +
                          "===");
            switch (Validate.ValidateMenuSelection(Console.ReadLine(), 2))
            {
            case "1":
                logger.Trace("Ticket added, {fresh}", fresh);
                Console.WriteLine("Ticket Added.");
                Enhancements.Add(fresh);
                StreamWriter sw = new StreamWriter(File);
                foreach (var enhancement in Enhancements)
                {
                    sw.WriteLine(enhancement.ToString());
                }
                sw.Close();
                break;

            case "2":
                Console.WriteLine("Canceling ticket creation, returning to main menu.");
                break;
            }
        }