minimum 1 thread