Project 4 for Advanced Programming