Well, first you should do something to make the GUI more responsive. Moving your slow operations to another thread from the main thread should fix that.