added automatic tee feature so that multiple listening threads will get the same data