impl to_schema