return stream map instead of event emitter