button update and background