CSCI E-15 Project 4 (final)