added the tests and modified setup.py