generation with JSON works