AbstractReader