What is a free variable?
a variable defined outside a function
a variable referenced in a function that is not assigned a value by that function
a variable that has a global scope
a variable defined in a class and available to all methods in that class