use auto for talker/listener