In a practice known as _________ , the program and data are organized in such a way that various modules can be assigned the same region of memory with a main program responsible for switching the modules in and out as needed.