fix: stop on io.EOF