Added in lots of docstrings. Will generate docs soon.