This chapter combines the basic tools described in previous chapters to obtain more complicated applications than those already discussed. To facilitate the process, this book uses Fortran as a modern object-oriented language. The benefits of object-oriented design may not be apparent immediately to a traditional Fortran programmer. It is, however, an important topic to learn because many new parallel application codes use object-oriented techniques. Indeed, an exercise in object-oriented design often leads to a deeper understanding of parallel algorithms.