do not use synchronous JSON.parse for potentially large objects