CS4400 project