CS 2340 project (Most Recent)