You have an array of 30000 cells (memory). Each can store a number between 0 and 255 and is initially set to 0. You have a memory pointer that starts at the start of the array. Click on the cat to load your code in. Click green flag to start the loaded code. The code is being read left to right. + : adds 1 to the cell at the memory pointer. - : subtracts 1 from the cell at the memory pointer > : moves array pointer right one cell < : moves array pointer left one cell . (dot)(full stop) : adds the ASCII character with index of the cell at the array pointer to the output. , (comma) : Accepts input and sets the value of the cell at the memory pointer to the ASCII index of the inputted character (ex. inputing "D" will set the cell to 68) [ : marks the start of the looping section. ] : marks the end of the looping section. when program reaches this symbol, it will go back to the loop start ("[") and do this section again BUT IF the cell at the memory pointer has the value of 0 when "]" is reached then the loop will be exited. (LOOPS CANT BE NESTED (YET)).