Added some docstrings because people who don't put docstrings in their code deserve to go to special hell.