added description and broadcast function to button component