Added TypeFactory
Merge