Chapter 2: program developpement