Final version of Olin College Software Design Project -- May 2012