finished app structure