COP 3402 Final project