autogenerate from docstrings