private static void createManagerBasedOnTown(ref DataPool worldData, int townIndex, int regionIndex)
    {
        for (int j = 0; j < 2; j++)
        {
            List <BoxerClass.Type> typeList = BoxerClass.getTypeList();

            Manager manager = new Manager(
                worldData.generateFirstName(), worldData.generateLastName(), townIndex, generateRandomInt(145, 225), typeList[generateRandomInt(0, typeList.Count - 1)]);
            manager.Record.setELO(getEloFromRegion(worldData.Towns[townIndex].RegionLevel));
            manager.setupHomebase(ref worldData, true);
            worldData.Managers.Add(manager);

            List <Boxer> boxers = WorldBuilderProtocol.generateBoxerRecruits(ref worldData, manager.TownIndex, manager.Record.ELO);

            int   bIndex = 0;
            float max    = 0.0f;

            for (int i = 0; i < boxers.Count; i++)
            {
                float boxerEval = EvaluationProtocol.evaluateBoxer(boxers[i], worldData.Managers[worldData.Managers.Count - 1].Preference);

                if (boxerEval > max)
                {
                    max    = boxerEval;
                    bIndex = i;
                }
            }

            TournamentProtocol.Level boxerLevel = (TournamentProtocol.Level)generateRandomInt(0, (int)worldData.Towns[townIndex].RegionLevel);

            worldData.Boxers.Add(boxers[bIndex]);
            manager.recruitBoxer(worldData.Boxers.Count - 1);
            ManagerProtocol.updateELO(ref worldData, worldData.Managers.Count - 1);
            manager.upgradeFacilities(ref worldData);
            manager.setRank(boxerLevel);
            ageAndDevelop(ref worldData, worldData.Boxers.Count - 1, boxerLevel);

            worldData.Regions[regionIndex].addManager(worldData.Managers.Count - 1);
        }
    }