added more properties in the Factory constructor