panorama: caller can be null