update app architecture