improved SchemaGenerator