CS397 project