complete app structure