structure the app