defined a new class BroadcastState to replace Tuple