updated for PyPI upload