CECS285 project