defaulting to Environment.ProcessorCount