use setuptools if possible