perform all heavy lifting in postLaunch instead of in appDidFinishLaunching