making more modular