I'm currently trying to program an application that when the Start button is pushed, will start a different part of the application, return(so as not to show the twirling color wheel, and to allow communication with the program), and have that function still running, and allowing it to use the UI for output. The problem is that when you call a function from ObjC and Cocoa, it doesn't return until the function returns, which then makes the program "freeze up". I thought about calling a function in the initial "After the NIB has loaded" code, but that presents the same problem. And to make it worse, any C++ function that you call doesn't allow you to output to the UI because the ObjC pointers to the NSTextView are out of scope. Any advice on this? You can see what I am talking about at The Virtual Body Website at SourceForge.com.