Sometimes, a program with sufficient complexity will be too large to fit in the workspace. When this happens the program should be broken into several smaller programs. Each smaller program executes its part of the job and then passes on the next program. This is done by using a RUN verb in the program. When one program RUNs another, the new program is brought into the workspace and replaces the old one. This is referred to as "overlaying".