using setuptools instead of distutils