add a button in contract