added more dynamic web app structure