add docstrings to funcs