Ex. 8.6 implemented.