MODFLOW was constructed in what was in 1980's called a modular design. This means it has many of the attributes of what came to be called object-oriented programming. For example, capabilities (called "packages") that simulate subsidence or lakes or streams, can easily be turned on and off and the execution time and storage requirements of those packages go away entirely. If a programmer wants to change something in MODFLOW, the clean organization makes it easy. Indeed, this kind of innovation is exactly what was anticipated when MODFLOW was designed.