button update part duece

a more complete button class