Nigel I am not clear what you are asking me. I do not mind for the program start all over everytime I choose a new color set for c1, c2, c3. My intention is to give it the condition, select color set, and run the main program. If it starts all over then I can live with that. The main program does not store any data in memory, nor uses a table call. Nor I am warried about PCL. As long as after each condition, I can run the main program subroutine, all the values will be set in there as what I am doing and pushed out to output. I hope I am not missing anything...