[ update ] button handling