use new app struct