Make it more modular