chapter 8, creating custom shapes