made the app more modular