Reverted to ArrayBuffer and using sizeHint for decoding