added Factory.update