adjust button behavior