Laid out the app architecture