add component support