There is enough room on this layout to support operations. The front and rear tracks on the main module act as interchanges to two railroad company's mainlines. Cars coming in from one of these tracks are moved to either the other interchange, one of the industries, or the yard. Cars are then moved from any of these locations to other locations on the layout. I either pick cars at random to move or use a switch list. I created a program on a TI-85 programmable calculator to generate switch lists. These lists can be challenging.
To make switching harder, I have only one run around. A run around allows the engine to move from one side of a freight car to the opposite side. Moves have to be planed so the engine is on the correct side of the car to leave it at a particular location. Only two cars can fit on the run around at a time.
Sometimes to move a car to a specified location on the siding, other cars have to be moved out of the way. Some of the industries have numbered spots on their sidings. A car must be moved to the specified numbered location. If there are cars parked in between the engine and the location, they must be moved out of the way temporally. The new car is then moved to its spot, ant the rest of the cars are place back were they were.
There are also instances where the siding the car is to be moved comes off another siding already full of cars. In this case, enough cars have to be move out of the way temporally to allow enough room for the engine to move the new car its location. The challenge comes in finding the order the cars must be moved in to get the new cars to their final destinations.