modify factory