add schema validation