converted from threading to multiprocessing
tuning for performance; not much success