Add a ton of docstrings and docstring improvements