create rich forms dynamically by providing a JSON schema