IPL has the ability to do arrays. A array is a way of referancing different areas of data using the same handler name. Each can be refeared to as a different layer or dimention. IPL has the ability to do up to 3 dementions. You define the number of dimentions bye doing (#) example: @ str(4) usrname @ byte(4) usrage This gives you 4 independant strings that can be access from the variable usrname. These strings can be accessed and written to by doing something simular to the following. { @ str(2) s for i = 1 to 4 do { cout['Enter name:"] s(1) = instr["","n","*","/mn",30] usrname(i) = s(1) cout['Enter age:"] s(2) - instr"","n","n","/mn",2] usrage(i) = s(2) } for i = 1 to 4 do { coutln[usrname(i)] coutln[usrage(i)] } } This procedure gives prompts you four times for a name and an age. It then outputs each back to screen using one only two variables. Using normal methods this would require eight.