merge latest code (with new UI and background tasking) into master