project4 template and test suite