Almost finished. Submitting for code review.