CS3600: Project 4