added update command to setup.py [ci skip]
refactored setup.py