makefile and tests