now handled by examples/basic_listener.py