Component restructure