Add component and commponent child files and make Factory