using xhr.responseType for faster and more memory efficient parsing