During the execution of an ESL program, certain commands can cause Easel to allocate more memory from its pool of available memory, or to de-allocate sections of memory which are no longer being used. A simple example is the "copy " command used on a string variable. Once a string variable is declared, it takes a certain amount of memory within ESL simply to exist. However, that variable does not use any additional memory until it is assigned a value during execution of the program. In the simple statement ‘copy “ABC” to StringVar’, ESL will need to allocate memory from its available pool. For the most part ESL handles this process automatically, but the ESL programmer must be aware of how memory is being used in order to create an ESL program which takes most efficient advantage of memory and which co-exists well with other applications running in its environment.