add loop refreshListen function