The goal of what we're going to talk about in this module is to show you examples of programming styles that cause problems, and then we'll talk about how to avoid them, how to do things right. This is going to focus on implementation style issues, although we will touch a bit upon design issues because those drive the implementation. The bottom line is that the design issues you need to think them through. So, we'll begin with what's called a fragile program, or actually in this case, a fragile library, one that is written non-robustly but the way most programmers would write.