Update factorymethod