cs246-final-project