Added BackgroundWorker for solve