structuring the app