tweak button behavior