smaller buf; regular I/O read