CS 246 project