added makefile and test cases