setup.py complete