added broadcasting functions
added test