basic flow of app