add a decorator for better perfomance of buttons