changed state machine and add broadcast start