Class project submission by Chad Lavy