updates and docstrings