Uses buffered read to speed up things.