app structure draft