docstrings
lots of docstrings