chapter 4 exercise 2 button directive