First basic working version of the app. Still needs some cleanup.