why these variable names?