add: improved setup.py