CSCI4190 course project.