changes:
* separate program & test,
* improve Makefile