Demonstrate some defensive programming techniques as well as some top-down structure making more use of functions