add stream support