made factory static