modify button behavior.