Initial work of Component Factory