why 2x? also, can we use ThreadPoolBuilder to build this?