Update factory logic