Use a more modular design