Version 2 that threads everything.