def METHOD_NAME(e, envName, multPolicies):
 # Creating environment 
 if (envName ==  'Waterworld'):
    from pettingzoo.sisl import waterworld_v3
    env = waterworld_v3.env()
    stateVariableCount = 242
    actionVariableCount = 2
    ac_upper = 0.01 
    ac_low = -0.01 
    numIndividuals = 5
 elif (envName == 'Multiwalker'):
    from pettingzoo.sisl import multiwalker_v7
    env = multiwalker_v7.env()
    stateVariableCount = 31
    actionVariableCount = 4
    ac_upper = 1 
    ac_low = -1 
    numIndividuals = 3
 elif (envName ==  'Pursuit'):
   from pettingzoo.sisl import pursuit_v3
   env = pursuit_v3.env()
   stateVariableCount = 147
   actionVariableCount = 1
   numIndividuals = 8
   possibleActions = [ [0], [1], [2], [3], [4] ]
 elif (envName == 'Gather'):
   from pettingzoo.sisl import pursuit_v3
   env = pursuit_v3.env()
   stateVariableCount = 1125
   actionVariableCount = 1
   numIndividuals = 495
   possibleActions = [ [a] for a in range(33) ]
 else:
   print("Environment '{}' not recognized! Exit..".format(envName))
   sys.exit()
 ## Defining State Variables
 for i in range(stateVariableCount):
   e["Variables"][i]["Name"] = "State Variable " + str(i)
   e["Variables"][i]["Type"] = "State"
 ## Defining Action Variables
 for i in range(actionVariableCount):
   e["Variables"][stateVariableCount + i]["Name"] = "Action Variable " + str(i) 
   e["Variables"][stateVariableCount + i]["Type"] = "Action"
 if (envName == 'Waterworld') or (envName == 'Multiwalker'):
   ### Defining problem configuration for continuous environments
   e["Problem"]["Type"] = "Reinforcement Learning / Continuous"
   e["Problem"]["Environment Function"] = lambda x : agent(x, env)
   e["Problem"]["Custom Settings"]["Print Step Information"] = "Disabled"
   e["Problem"]["Agents Per Environment"] = numIndividuals
   if (multPolicies == 1) :
      e["Problem"]["Policies Per Environment"] = numIndividuals
   # Defining Action Variables
   for i in range(actionVariableCount):
      e["Variables"][stateVariableCount + i]["Name"] = "Action Variable " + str(i)
      e["Variables"][stateVariableCount + i]["Type"] = "Action"
      e["Variables"][stateVariableCount + i]["Lower Bound"] = float(ac_low)
      e["Variables"][stateVariableCount + i]["Upper Bound"] = float(ac_upper)
      e["Variables"][stateVariableCount + i]["Initial Exploration Noise"] = math.sqrt(0.2) * (ac_upper - ac_low)
 elif (envName ==  'Pursuit') or (envName == 'Gather'):
   ### Defining problem configuration for discrete environments
   e["Problem"]["Type"] = "Reinforcement Learning / Discrete"
   e["Problem"]["Environment Function"] = lambda x : agent(x, env)
   e["Problem"]["Custom Settings"]["Print Step Information"] = "Disabled"
   e["Problem"]["Possible Actions"] = possibleActions
   e["Problem"]["Agents Per Environment"] = numIndividuals
   if (multPolicies == 1) :
      e["Problem"]["Policies Per Environment"] = numIndividuals
 return numIndividuals