You are not changing the signature of the fields() method above, but are adding a new argument here. How does it work? Also, why does this argument need to be explicit? (i.e. why can't src.fields() access grids directly?)