final cs171 project