a lot of change in the structure, more modular