add hook for button