update setup.py and use tox