basis for variable handling