added tests; makefile and setup.py