Added a bunch of docstrings