broadcast implementation