fixed data stream read once doesn't work