These are the variable names used in the spec, but I'll update them to be more descriptive.