added tests and setup.py fixed