if numShapes > 1: 
      Xcent = random.uniform(L,R); Ycent = random.uniform(B,T)
    else:
      Xcent = L + ((R-L)/2.0); Ycent = B + ((T-B)/2.0)
      arcpy.AddMessage("\n" + " centers(s) at... " + str(Xcent)+ " " + str(Ycent))
  if (ellAngle == "random"):
    theta = random.uniform(-180.0, 180.0)
  #
  #generate the points
  if theType == "Random":
    pnts = PM.ellipse_on(n, Xcent, Ycent, theta, major, minor, "True")
  elif theType == "Sequential":
    pnts = PM.ellipse_on(n, Xcent, Ycent, theta, major, minor, "False")
  else:
    arcpy.AddMessage("type " + str(theType))
    pnts = PM.ellipse_in(n, Xcent, Ycent, theta, major, minor)
  outPnts.append(pnts)
#
#optional shapefile creation
if outFC != "#":
  fieldsToAdd = [["Group", "LONG", "9", "#"],
                 ["X", "DOUBLE", 16, 7],
                 ["Y", "DOUBLE", 16, 7]]
  py_gp.createPointFile (outFC, shapeClass, "#", outPnts, fieldsToAdd, arcpy)
  arcpy.AddMessage("\n" + "You can join the original table to " \
                + "this shapefile table if you want other attributes." + "\n")
#
#optional csv file creation or output to screen
if outCSV != "#":
  PM.to_CSV(outCSV, outPnts)
#