reverting to threadpooless implementation after doing some perf testing - no threads is faster for this case