finished basic app structure