see comment about feof