add staticfactory