avoid eof bugs