CS372 second project.