Add UI threading, and progress report
Resolve confilcs