3.0 app structure