new constructor for streaming