add component api