added singleton check and auto-create of stream