added default values for thread count and thread factory to minimize required constructors params