CMSC421 Project 4 skeleton