preliminary hotspot function