basic one page app structure