COMSC-341 Final Project