updated with app structure