added json schema generation