component api now implemented