Divided the application a bit into components