adding schema generation