making app more configurable/reusable