cs542 proj4