project 4 for Algorithms csci406