add broadcst func