Project 4 for CS162