added a generic button.click event