comp446 final project