finish assignment, still need makefile