more tolerant with JSON parsing