improve test runner, add Makefile