add a button to process instead of using change event