CSC478 project