The programmer assigns data names to COBOL data items in order to refer to those items in the program. Data names typically must be unique so that the compiler can know which data item the programmer is referring to. Data names that do not uniquely identify a data item may be made unique through qualification and subscripting. The programmer may also create new data names by reference modification. These three techniques are explained in the next three subsections.