replace broadcast with serializable