Take home exercise for ThrillCall. Worked on in 2009.