http://www.titanmusic.com/ExerciseSolutions/med4ooadp2009ex3solutions.html