withFactory