yes, we did here:

`def get_class_average(students):`

`students`

is the function parameter, basically a function parameter is a placeholder until you call the function:

```
# function with parameter students
def get_class_average(students):
results = []
for student in students:
results.append(get_average(student))
return average(results)
# function call with different argument values
print get_class_average([lloyd])
print get_class_average([lloyd, alice])
print get_class_average([lloyd, alice, tyler])
```

see comments in code (i am going to use those terms), when we call the function, the argument value get copied into/passed along to the function parameter

Although you learned this in the python course, its tricky because now your implementing it.

Its important when you create a function and give it a parameter, you reflect on what this parameter represent and what possible values you can give the parameter at function call, so you understand how to use the parameter inside the function (in this case looping over the function parameter because it contains a list value)

Always reflect what you do, and asks yourself why you take certain step.