completed app structure