update button handling