Initial commit of completed project from fall 2011.