add makefile and testcases