A but nitpicky, but these variable names should probably be refactored so that it's more clear what they're used for.