Refactor Component type