docstrings and commenting