initial public version with JSON maker