6.858 final project.