basic app structure and black window