Parts 3 and 4 done.

..