separate ppm update in threads