why setfactory?