Structure the program for minimum coupling