CS372 first project.