component schema