Changed modules to be more modular