initialized factory