app structure re-designed