CS846FinalProject