use 4 threads