Made it more modular