modify for setuptools
decorator self_if_blank_arg