CPSC4900 Project 3