ex 6 - final.
with new changes from 9.12.14.