rename newFactory() to newInstanceFactory()