doc: add docstrings