refactor component system