clean code in example 9.3