improve factories