components and schema validation