add broadcast func