example 3.6 - 3.8