added second thread to handle UI, throttle at 400, TODO updated