overhead of creating threads can causing slowdown
final commit