split between multiple threads