Completed article and did some code cleanup.