add - updated factory