changing to a component system