added broadcast function