Use a more modular structure